Shader "Hidden/PostProcessing/Uber" {
	Properties {
	}
	SubShader {
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 65264
			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[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 unused_0_3[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					#extension GL_AMD_vertex_shader_layer : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						float _DepthSlice;
						vec4 _UVTransform;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    gl_Layer = int(uint(_DepthSlice));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    vs_TEXCOORD1.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    vs_TEXCOORD0.xy = u_xlat0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 _UVTransform;
						vec4 _PosScaleOffset;
						vec4 unused_0_4[15];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					vec2 u_xlat0;
					vec2 u_xlat1;
					int u_xlati4;
					void main()
					{
					    gl_Position.xy = in_POSITION0.xy * _PosScaleOffset.xy + _PosScaleOffset.zw;
					    gl_Position.zw = vec2(0.0, 1.0);
					    u_xlat0.xy = in_POSITION0.xy + vec2(1.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _UVTransform.xy;
					    u_xlat0.xy = u_xlat0.xy * vec2(0.5, 0.5) + _UVTransform.zw;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat1.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati4].xy;
					    vs_TEXCOORD1.xy = u_xlat0.xy * u_xlat1.xy + unity_StereoScaleOffset[u_xlati4].zw;
					    vs_TEXCOORD0.xy = u_xlat0.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[42];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    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[42];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[42];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[42];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[43];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[43];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					bvec3 u_xlatb3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat3.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat0.x = u_xlat0.x * 2.0 + -1.0;
					    u_xlat3.x = sqrt(u_xlat3.x);
					    u_xlat3.x = (-u_xlat3.x) + 1.0;
					    u_xlat0.x = u_xlat3.x * u_xlat0.x;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat2.xyz;
					    SV_Target0.w = u_xlat2.w;
					    u_xlat1.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.00313080009), u_xlat3.xyzz).xyz;
					    u_xlat3.x = (u_xlatb3.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat3.y = (u_xlatb3.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat3.z = (u_xlatb3.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					bvec3 u_xlatb3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat3.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat0.x = u_xlat0.x * 2.0 + -1.0;
					    u_xlat3.x = sqrt(u_xlat3.x);
					    u_xlat3.x = (-u_xlat3.x) + 1.0;
					    u_xlat0.x = u_xlat3.x * u_xlat0.x;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat2.xyz;
					    SV_Target0.w = u_xlat2.w;
					    u_xlat1.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.00313080009), u_xlat3.xyzz).xyz;
					    u_xlat3.x = (u_xlatb3.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat3.y = (u_xlatb3.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat3.z = (u_xlatb3.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					bvec3 u_xlatb3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat3.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat0.x = u_xlat0.x * 2.0 + -1.0;
					    u_xlat3.x = sqrt(u_xlat3.x);
					    u_xlat3.x = (-u_xlat3.x) + 1.0;
					    u_xlat0.x = u_xlat3.x * u_xlat0.x;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat2.xyz;
					    SV_Target0.w = u_xlat2.w;
					    u_xlat1.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.00313080009), u_xlat3.xyzz).xyz;
					    u_xlat3.x = (u_xlatb3.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat3.y = (u_xlatb3.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat3.z = (u_xlatb3.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					bvec3 u_xlatb3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat3.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat0.x = u_xlat0.x * 2.0 + -1.0;
					    u_xlat3.x = sqrt(u_xlat3.x);
					    u_xlat3.x = (-u_xlat3.x) + 1.0;
					    u_xlat0.x = u_xlat3.x * u_xlat0.x;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat2.xyz;
					    SV_Target0.w = u_xlat2.w;
					    u_xlat1.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.00313080009), u_xlat3.xyzz).xyz;
					    u_xlat3.x = (u_xlatb3.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat3.y = (u_xlatb3.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat3.z = (u_xlatb3.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					bvec3 u_xlatb3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat3.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat0.x = u_xlat0.x * 2.0 + -1.0;
					    u_xlat3.x = sqrt(u_xlat3.x);
					    u_xlat3.x = (-u_xlat3.x) + 1.0;
					    u_xlat0.x = u_xlat3.x * u_xlat0.x;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat2.xyz;
					    SV_Target0.w = u_xlat2.w;
					    u_xlat1.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.00313080009), u_xlat3.xyzz).xyz;
					    u_xlat3.x = (u_xlatb3.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat3.y = (u_xlatb3.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat3.z = (u_xlatb3.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					bvec3 u_xlatb3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat3.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat0.x = u_xlat0.x * 2.0 + -1.0;
					    u_xlat3.x = sqrt(u_xlat3.x);
					    u_xlat3.x = (-u_xlat3.x) + 1.0;
					    u_xlat0.x = u_xlat3.x * u_xlat0.x;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat2.xyz;
					    SV_Target0.w = u_xlat2.w;
					    u_xlat1.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.00313080009), u_xlat3.xyzz).xyz;
					    u_xlat3.x = (u_xlatb3.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat3.y = (u_xlatb3.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat3.z = (u_xlatb3.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[40];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[40];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[40];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[40];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[41];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[41];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec3 _Lut2D_Params;
						vec4 unused_0_2[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[36];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[37];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_3[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_5;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_5;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_5;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_5;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_5;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_5;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_4[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					float u_xlat10;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat10 = u_xlat1.w;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    SV_Target0.w = u_xlat10;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat3.x);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[30];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[31];
						vec4 _Dithering_Coords;
						vec4 unused_0_2[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_8;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat9) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat9 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat9);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat9 = clamp(u_xlat9, 0.0, 1.0);
					    u_xlat9 = u_xlat9 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_8;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_8;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_8;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_8;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[15];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_8;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[15];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_8;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_9;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb6;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_9;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb6;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_9;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb6;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_9;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb6;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_9;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb6;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_9;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb6;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat4.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					    u_xlat4.x = u_xlat4.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4.x;
					    u_xlat4.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat4;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat4.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat4.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat4.z : u_xlat3.z;
					        u_xlat4 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat4.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					    u_xlat4.x = u_xlat4.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4.x;
					    u_xlat4.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat4;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat4.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat4.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat4.z : u_xlat3.z;
					        u_xlat4 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat4.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					    u_xlat4.x = u_xlat4.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4.x;
					    u_xlat4.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat4;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat4.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat4.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat4.z : u_xlat3.z;
					        u_xlat4 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat4.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					    u_xlat4.x = u_xlat4.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4.x;
					    u_xlat4.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat4;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat4.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat4.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat4.z : u_xlat3.z;
					        u_xlat4 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat4.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					    u_xlat4.x = u_xlat4.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4.x;
					    u_xlat4.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat4;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat4.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat4.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat4.z : u_xlat3.z;
					        u_xlat4 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_10[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat4.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4.x = clamp(u_xlat4.x, 0.0, 1.0);
					    u_xlat4.x = u_xlat4.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4.x;
					    u_xlat4.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat4;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat4.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat4.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat4.z : u_xlat3.z;
					        u_xlat4 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb5;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb5;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb5;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb5;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb5;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb5;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb5;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb5 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb5) ? u_xlat12 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[15];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[15];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					bool u_xlatb15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat15 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat15 = (u_xlatb8) ? u_xlat15 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[13];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[14];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb5;
					float u_xlat9;
					bool u_xlatb9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb9 = _Vignette_Mode<0.5;
					    if(u_xlatb9){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat9 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat9 = u_xlat9 + -1.0;
					        u_xlat9 = _Vignette_Settings.w * u_xlat9 + 1.0;
					        u_xlat1.x = u_xlat9 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat9 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat9 = (-u_xlat9) + 1.0;
					        u_xlat9 = max(u_xlat9, 0.0);
					        u_xlat9 = log2(u_xlat9);
					        u_xlat9 = u_xlat9 * _Vignette_Settings.y;
					        u_xlat9 = exp2(u_xlat9);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat9 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb5 = 0.0404499993>=u_xlat2.w;
					        u_xlat9 = (u_xlatb5) ? u_xlat9 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat9) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat9 = -abs(u_xlat9) + 1.0;
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = (-u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb5;
					float u_xlat9;
					bool u_xlatb9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb9 = _Vignette_Mode<0.5;
					    if(u_xlatb9){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat9 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat9 = u_xlat9 + -1.0;
					        u_xlat9 = _Vignette_Settings.w * u_xlat9 + 1.0;
					        u_xlat1.x = u_xlat9 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat9 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat9 = (-u_xlat9) + 1.0;
					        u_xlat9 = max(u_xlat9, 0.0);
					        u_xlat9 = log2(u_xlat9);
					        u_xlat9 = u_xlat9 * _Vignette_Settings.y;
					        u_xlat9 = exp2(u_xlat9);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat9 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb5 = 0.0404499993>=u_xlat2.w;
					        u_xlat9 = (u_xlatb5) ? u_xlat9 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat9) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat9 = -abs(u_xlat9) + 1.0;
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = (-u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb5;
					float u_xlat9;
					bool u_xlatb9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb9 = _Vignette_Mode<0.5;
					    if(u_xlatb9){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat9 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat9 = u_xlat9 + -1.0;
					        u_xlat9 = _Vignette_Settings.w * u_xlat9 + 1.0;
					        u_xlat1.x = u_xlat9 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat9 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat9 = (-u_xlat9) + 1.0;
					        u_xlat9 = max(u_xlat9, 0.0);
					        u_xlat9 = log2(u_xlat9);
					        u_xlat9 = u_xlat9 * _Vignette_Settings.y;
					        u_xlat9 = exp2(u_xlat9);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat9 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb5 = 0.0404499993>=u_xlat2.w;
					        u_xlat9 = (u_xlatb5) ? u_xlat9 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat9) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat9 = -abs(u_xlat9) + 1.0;
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = (-u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb5;
					float u_xlat9;
					bool u_xlatb9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb9 = _Vignette_Mode<0.5;
					    if(u_xlatb9){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat9 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat9 = u_xlat9 + -1.0;
					        u_xlat9 = _Vignette_Settings.w * u_xlat9 + 1.0;
					        u_xlat1.x = u_xlat9 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat9 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat9 = (-u_xlat9) + 1.0;
					        u_xlat9 = max(u_xlat9, 0.0);
					        u_xlat9 = log2(u_xlat9);
					        u_xlat9 = u_xlat9 * _Vignette_Settings.y;
					        u_xlat9 = exp2(u_xlat9);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat9 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb5 = 0.0404499993>=u_xlat2.w;
					        u_xlat9 = (u_xlatb5) ? u_xlat9 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat9) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat9 = -abs(u_xlat9) + 1.0;
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = (-u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb5;
					float u_xlat9;
					bool u_xlatb9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb9 = _Vignette_Mode<0.5;
					    if(u_xlatb9){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat9 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat9 = u_xlat9 + -1.0;
					        u_xlat9 = _Vignette_Settings.w * u_xlat9 + 1.0;
					        u_xlat1.x = u_xlat9 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat9 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat9 = (-u_xlat9) + 1.0;
					        u_xlat9 = max(u_xlat9, 0.0);
					        u_xlat9 = log2(u_xlat9);
					        u_xlat9 = u_xlat9 * _Vignette_Settings.y;
					        u_xlat9 = exp2(u_xlat9);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat9 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb5 = 0.0404499993>=u_xlat2.w;
					        u_xlat9 = (u_xlatb5) ? u_xlat9 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat9) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat9 = -abs(u_xlat9) + 1.0;
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = (-u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb5;
					float u_xlat9;
					bool u_xlatb9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb9 = _Vignette_Mode<0.5;
					    if(u_xlatb9){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat9 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat9 = u_xlat9 + -1.0;
					        u_xlat9 = _Vignette_Settings.w * u_xlat9 + 1.0;
					        u_xlat1.x = u_xlat9 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat9 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat9 = (-u_xlat9) + 1.0;
					        u_xlat9 = max(u_xlat9, 0.0);
					        u_xlat9 = log2(u_xlat9);
					        u_xlat9 = u_xlat9 * _Vignette_Settings.y;
					        u_xlat9 = exp2(u_xlat9);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat9 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb5 = 0.0404499993>=u_xlat2.w;
					        u_xlat9 = (u_xlatb5) ? u_xlat9 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat9 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat9 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = _Grain_Params1.xxxy.z * (-u_xlat9) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat9) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat9 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat9 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat9 = -abs(u_xlat9) + 1.0;
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = (-u_xlat9) + 1.0;
					    u_xlat9 = u_xlat9 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat9) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb7;
					vec2 u_xlat8;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[7];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[8];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb7;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb12 = _Vignette_Mode<0.5;
					    if(u_xlatb12){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat12 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat12 = u_xlat12 + -1.0;
					        u_xlat12 = _Vignette_Settings.w * u_xlat12 + 1.0;
					        u_xlat1.x = u_xlat12 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat12 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat12 = (-u_xlat12) + 1.0;
					        u_xlat12 = max(u_xlat12, 0.0);
					        u_xlat12 = log2(u_xlat12);
					        u_xlat12 = u_xlat12 * _Vignette_Settings.y;
					        u_xlat12 = exp2(u_xlat12);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat12 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb7 = 0.0404499993>=u_xlat3.w;
					        u_xlat12 = (u_xlatb7) ? u_xlat12 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat12 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat15 = u_xlat0.w;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    SV_Target0.w = u_xlat15;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat15 = u_xlat0.w;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    SV_Target0.w = u_xlat15;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat15 = u_xlat0.w;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    SV_Target0.w = u_xlat15;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat15 = u_xlat0.w;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    SV_Target0.w = u_xlat15;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat15 = u_xlat0.w;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    SV_Target0.w = u_xlat15;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat15 = u_xlat0.w;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    SV_Target0.w = u_xlat15;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat5.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat0 = u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat15;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat7.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat1 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat2 = u_xlat3 * u_xlat7.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.0625;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat6.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat6.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat15 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat15);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat15 = u_xlat15 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat13;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat6.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat6.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat6.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat3.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat3.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat6.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat6.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat6.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat3.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat3.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat6.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat6.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat6.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat3.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat3.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb7;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb7) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb7;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb7) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb7;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb7) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat9;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat9.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xy;
					    u_xlat2 = u_xlat2 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat9.xyxy + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat9.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat12 = u_xlat0.w;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    SV_Target0.w = u_xlat12;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat12 = u_xlat0.w;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    SV_Target0.w = u_xlat12;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat12 = u_xlat0.w;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    SV_Target0.w = u_xlat12;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat12 = u_xlat0.w;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    SV_Target0.w = u_xlat12;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat12 = u_xlat0.w;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    SV_Target0.w = u_xlat12;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat12 = u_xlat0.w;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    SV_Target0.w = u_xlat12;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat2 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat2.w = u_xlat1.w * 0.25;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1 = u_xlat2 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat5.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat5.xy);
					    u_xlat5.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat12 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat12);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat12 = u_xlat12 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat11;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat13;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat6.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat6.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat6.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat3.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat3.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat6.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat6.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat6.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat3.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat3.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat6.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat6.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat6.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat3.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat3.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					vec2 u_xlat12;
					bool u_xlatb13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb11;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat6.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat6.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat6.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat6.x = log2(u_xlat6.x);
					        u_xlat6.x = u_xlat6.x * 2.4000001;
					        u_xlat6.x = exp2(u_xlat6.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat6.x;
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat6.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb13;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					vec2 u_xlat13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					vec2 u_xlat13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat11;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					vec2 u_xlat13;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb7;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb7) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb7;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb7) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb7;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb7) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					vec2 u_xlat12;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat16 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat16 = u_xlat16 + -1.0;
					        u_xlat16 = _Vignette_Settings.w * u_xlat16 + 1.0;
					        u_xlat1.x = u_xlat16 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat6.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat6.xyz = u_xlat1.xxx * u_xlat6.xyz + _Vignette_Color.xyz;
					        u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat6.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat6.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat2 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat7.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat8.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat8.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat8.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat25 = u_xlat1.w;
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat25;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat25 = u_xlat1.w;
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat25;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat25 = u_xlat1.w;
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat25;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat8.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat8.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat8.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_4[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat25 = u_xlat1.w;
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat25;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat25 = u_xlat1.w;
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat25;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat25 = u_xlat1.w;
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat25;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat24) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_5[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat9;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat9.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat9.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat9.z : u_xlat3.z;
					        u_xlat9 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat9.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat9;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat9.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat9.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat9.z : u_xlat3.z;
					        u_xlat9 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat9.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat9;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat9.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat9.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat9.z : u_xlat3.z;
					        u_xlat9 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat9.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat1.x = u_xlat4.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb9 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb9) ? u_xlat24 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb10) ? u_xlat27 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_6[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat24) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat2.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat27) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat24) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat2.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat27) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat24) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat2.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat27) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat24 = (u_xlatb10) ? u_xlat24 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat24) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat27 = (u_xlatb11) ? u_xlat27 : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = vec3(u_xlat27) * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat1.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					bool u_xlatb24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb24 = _Vignette_Mode<0.5;
					    if(u_xlatb24){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat24 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat24 = u_xlat24 + -1.0;
					        u_xlat24 = _Vignette_Settings.w * u_xlat24 + 1.0;
					        u_xlat1.x = u_xlat24 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat24 = (-u_xlat24) + 1.0;
					        u_xlat24 = max(u_xlat24, 0.0);
					        u_xlat24 = log2(u_xlat24);
					        u_xlat24 = u_xlat24 * _Vignette_Settings.y;
					        u_xlat24 = exp2(u_xlat24);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat24) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat24 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat24 = (u_xlatb11) ? u_xlat24 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat24) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat24 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					bool u_xlatb27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb27 = _Vignette_Mode<0.5;
					    if(u_xlatb27){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat27 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat27 = u_xlat27 + -1.0;
					        u_xlat27 = _Vignette_Settings.w * u_xlat27 + 1.0;
					        u_xlat1.x = u_xlat27 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat27 = (-u_xlat27) + 1.0;
					        u_xlat27 = max(u_xlat27, 0.0);
					        u_xlat27 = log2(u_xlat27);
					        u_xlat27 = u_xlat27 * _Vignette_Settings.y;
					        u_xlat27 = exp2(u_xlat27);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat27) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat27 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat27 = (u_xlatb12) ? u_xlat27 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat27) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat27 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat24 = u_xlat0.w;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat24;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat27 = u_xlat0.w;
					    u_xlat27 = clamp(u_xlat27, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat27;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat24 = u_xlat0.w;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat24;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat27 = u_xlat0.w;
					    u_xlat27 = clamp(u_xlat27, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat27;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat24 = u_xlat0.w;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat24;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat27 = u_xlat0.w;
					    u_xlat27 = clamp(u_xlat27, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat27;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat10.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat10.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat10.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat9;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat9.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat9.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat9.z : u_xlat3.z;
					        u_xlat9 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat9.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat10.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat10.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat10.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat9;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat9.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat9.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat9.z : u_xlat3.z;
					        u_xlat9 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat9.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat10.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat10.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat10.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat9;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat9.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat9.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat9.z : u_xlat3.z;
					        u_xlat9 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat9.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					bool u_xlatb19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat19.xy = u_xlat20.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat10.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat10.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat10.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat18;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat18.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					vec2 u_xlat20;
					int u_xlati24;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = float(0.0);
					    u_xlat20.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat33 = float(u_xlati_loop_1);
					        u_xlat33 = u_xlat33 + 0.5;
					        u_xlat2.x = u_xlat33 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat9.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat10.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat20.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat20.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat4 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat19;
					vec2 u_xlat20;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat19.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat20.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat15.x = float(u_xlati_loop_1);
					        u_xlat15.x = u_xlat15.x + 0.5;
					        u_xlat2.x = u_xlat15.x / u_xlat1.x;
					        u_xlat15.xy = u_xlat20.xy;
					        u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0);
					        u_xlat15.xy = u_xlat15.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat15.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat20.xy = u_xlat9.xy + u_xlat20.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat19.xyxy + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat19.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat24 = u_xlat0.w;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat24;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat24 = u_xlat0.w;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat24;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat24 = u_xlat0.w;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat24;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec2 u_xlat9;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					int u_xlati10;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat28 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat28 = sqrt(u_xlat28);
					    u_xlat28 = _Grain_Params1.xxxy.z * (-u_xlat28) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat28) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat10.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat10.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat10.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat9;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat9.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat9.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat9.z : u_xlat3.z;
					        u_xlat9 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat9.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat10.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat10.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat10.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat9;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat9.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat9.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat9.z : u_xlat3.z;
					        u_xlat9 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat9.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat10.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat10.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat10.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat9;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat9.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat9.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat9.z : u_xlat3.z;
					        u_xlat9 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat9.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					vec2 u_xlat19;
					bool u_xlatb19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat10.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat10.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat10.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat10.x = log2(u_xlat10.x);
					        u_xlat10.x = u_xlat10.x * 2.4000001;
					        u_xlat10.x = exp2(u_xlat10.x);
					        u_xlatb19 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb19) ? u_xlat1.x : u_xlat10.x;
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat10.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat17;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat9.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat17.xy = u_xlat18.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat23.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat10.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat10.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb11;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb11 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat10.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat16;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat16.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					vec2 u_xlat18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat18.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat6.x = float(u_xlati_loop_1);
					        u_xlat6.x = u_xlat6.x + 0.5;
					        u_xlat2.x = u_xlat6.x / u_xlat1.x;
					        u_xlat6.xy = u_xlat9.xy;
					        u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat2.x = u_xlat4.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat9.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat18.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat18.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					int u_xlati7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					int u_xlati11;
					bool u_xlatb13;
					vec2 u_xlat17;
					bool u_xlatb17;
					vec2 u_xlat21;
					vec2 u_xlat23;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlati11 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati11].xyxy;
					    u_xlat3.y = float(0.0);
					    u_xlat23.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat17.x = float(u_xlati_loop_1);
					        u_xlat17.x = u_xlat17.x + 0.5;
					        u_xlat3.x = u_xlat17.x / u_xlat1.x;
					        u_xlat17.xy = u_xlat21.xy;
					        u_xlat17.xy = clamp(u_xlat17.xy, 0.0, 1.0);
					        u_xlat17.xy = u_xlat17.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati11].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat17.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati11].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat31 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat31 = u_xlat31 + -1.0;
					        u_xlat31 = _Vignette_Settings.w * u_xlat31 + 1.0;
					        u_xlat1.x = u_xlat31 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat4 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat4.w * 0.0773993805;
					        u_xlat3.x = u_xlat4.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb13 = 0.0404499993>=u_xlat4.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat3.x;
					        u_xlat4.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat4.xyz = u_xlat1.xxx * u_xlat4.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat4.xyz + (-u_xlat0.xyz);
					        u_xlat11.xyz = vec3(_Vignette_Opacity) * u_xlat4.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat4.xyz = u_xlat11.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat11.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat11.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat23.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat23.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat18;
					bool u_xlatb18;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					int u_xlati25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat8.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat24 = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat8.xy = vec2(u_xlat24) * u_xlat8.xy;
					    u_xlat8.xy = u_xlat8.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat8.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat24 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlati24 = int(u_xlat24);
					    u_xlati24 = max(u_xlati24, 3);
					    u_xlati24 = min(u_xlati24, 16);
					    u_xlat1.x = float(u_xlati24);
					    u_xlat8.xy = (-u_xlat8.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati24 ; u_xlati_loop_1++)
					    {
					        u_xlat18.x = float(u_xlati_loop_1);
					        u_xlat18.x = u_xlat18.x + 0.5;
					        u_xlat2.x = u_xlat18.x / u_xlat1.x;
					        u_xlat18.xy = u_xlat9.xy;
					        u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					        u_xlat18.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat18.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat9.xy = u_xlat8.xy + u_xlat9.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec2 u_xlat9;
					vec3 u_xlat10;
					int u_xlati10;
					bool u_xlatb12;
					vec2 u_xlat19;
					int u_xlati21;
					float u_xlat27;
					int u_xlati27;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xyxy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat30 = float(u_xlati_loop_1);
					        u_xlat30 = u_xlat30 + 0.5;
					        u_xlat3.x = u_xlat30 / u_xlat1.x;
					        u_xlat7.xy = u_xlat19.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati10].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati10].zwzw;
					    u_xlat1 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat1 = u_xlat1 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat28 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat28 = u_xlat28 + -1.0;
					        u_xlat28 = _Vignette_Settings.w * u_xlat28 + 1.0;
					        u_xlat1.x = u_xlat28 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat10.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat10.xyz = u_xlat1.xxx * u_xlat10.xyz + _Vignette_Color.xyz;
					        u_xlat10.xyz = u_xlat0.xyz * u_xlat10.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb12 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb12) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat10.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat10.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat10.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec4 unused_0_4[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[9];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					int u_xlati21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat21) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat18) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat7;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat7;
					float u_xlat18;
					float u_xlat19;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat2 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati1].xyxy;
					    u_xlat0 = u_xlat0 * u_xlat2 + unity_StereoScaleOffset[u_xlati1].zwzw;
					    u_xlat3 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat7.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati1].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1 = u_xlat1 * u_xlat2 + u_xlat3;
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2 + u_xlat1;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat19) + u_xlat1.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat15;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat15;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat15;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb8;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat1.x = u_xlat3.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb8 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb8) ? u_xlat21 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec4 unused_0_6;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[8];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[9];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat21 = (u_xlatb9) ? u_xlat21 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat21) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat21 = (u_xlatb9) ? u_xlat21 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat21) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat21 = (u_xlatb9) ? u_xlat21 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat21) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat21 = (u_xlatb9) ? u_xlat21 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat21) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat21 = (u_xlatb9) ? u_xlat21 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat21) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb9;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat21 = (u_xlatb9) ? u_xlat21 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat21) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bool u_xlatb10;
					float u_xlat21;
					int u_xlati21;
					bool u_xlatb21;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xyxy;
					    u_xlat7.xy = u_xlat7.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati21].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati21].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat5;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb21 = _Vignette_Mode<0.5;
					    if(u_xlatb21){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat21 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat21 = u_xlat21 + -1.0;
					        u_xlat21 = _Vignette_Settings.w * u_xlat21 + 1.0;
					        u_xlat1.x = u_xlat21 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat21 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat21 = (-u_xlat21) + 1.0;
					        u_xlat21 = max(u_xlat21, 0.0);
					        u_xlat21 = log2(u_xlat21);
					        u_xlat21 = u_xlat21 * _Vignette_Settings.y;
					        u_xlat21 = exp2(u_xlat21);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat21) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat21 = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat21 = (u_xlatb10) ? u_xlat21 : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat21) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat2.w = u_xlat21 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat1.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat1.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat24 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat24);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat24 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat24);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat24 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat24);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat24 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = vec4(u_xlat24) * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat24 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = vec4(u_xlat24) * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat24 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = vec4(u_xlat24) * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat21 = u_xlat0.w;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    SV_Target0.w = u_xlat21;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat24 = u_xlat0.w;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    SV_Target0.w = u_xlat24;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat21 = u_xlat0.w;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    SV_Target0.w = u_xlat21;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat24 = u_xlat0.w;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    SV_Target0.w = u_xlat24;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat21 = u_xlat0.w;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    SV_Target0.w = u_xlat21;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat24 = u_xlat0.w;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    SV_Target0.w = u_xlat24;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat8.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat24 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat24);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat24 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat24);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					float u_xlat21;
					void main()
					{
					    u_xlat0 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat1.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx;
					    u_xlat0 = u_xlat0 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat0 = u_xlat0 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat0.zw, 0.0);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat3.xyz;
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat3.xy = vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = textureLod(_MainTex, u_xlat3.xy, 0.0);
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat2.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat2;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat2 = (-u_xlat1.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat1.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat4 = u_xlat1.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat2 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat2 = u_xlat3 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat2;
					    u_xlat2 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat3 = u_xlat1.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat2;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat9;
					vec2 u_xlat10;
					float u_xlat24;
					float u_xlat26;
					void main()
					{
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat1 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat3.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					    u_xlat3.xy = u_xlat3.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat3 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat1 = u_xlat1 + u_xlat3;
					    u_xlat3 = u_xlat0.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat4.xy = vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = textureLod(_MainTex, u_xlat4.xy, 0.0);
					    u_xlat1 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat1;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat3 = u_xlat0.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat1 = u_xlat1 + u_xlat5;
					    u_xlat1 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat1;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat1.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat1.w * 0.0625;
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat26 = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * vec4(u_xlat26);
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1 = u_xlat1 * u_xlat5;
					    u_xlat6.w = 1.0;
					    u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat6.xyz = u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat1 = u_xlat4 * u_xlat6 + u_xlat1;
					    u_xlat4.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat6.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat1 = u_xlat2 * u_xlat4 + u_xlat1;
					    u_xlat5.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat5;
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xxx;
					    u_xlat1 = u_xlat3 + u_xlat1;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat9.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat9.xy);
					    u_xlat9.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat24 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat24);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat24 = clamp(u_xlat24, 0.0, 1.0);
					    u_xlat24 = u_xlat24 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat8.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat8.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat8.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat8.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat8.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat8.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat8.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat8.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat8.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb9;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb9;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb9;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xw = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xw = clamp(u_xlat0.xw, 0.0, 1.0);
					    u_xlat0.xw = u_xlat0.xw * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat7.xy);
					    u_xlat0 = u_xlat0 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat3 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat0 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat0;
					    u_xlat2.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat4.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat4.xy = clamp(u_xlat4.xy, 0.0, 1.0);
					    u_xlat4.xy = u_xlat4.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat4 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat6 = texture(_BloomTex, u_xlat8.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat5.xyxy + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat2.xy * _Bloom_Settings.xx + vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat25 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat25 = sqrt(u_xlat25);
					    u_xlat25 = _Grain_Params1.xxxy.z * (-u_xlat25) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat25) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat21 = u_xlat0.w;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    SV_Target0.w = u_xlat21;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat21 = u_xlat0.w;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    SV_Target0.w = u_xlat21;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    SV_Target0.w = u_xlat18;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat21 = u_xlat0.w;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    SV_Target0.w = u_xlat21;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat6.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat6.xy);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat7.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2 = texture(_Lut2D, u_xlat7.xy);
					    u_xlat7.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat7;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat2.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat3.xyz = u_xlat4.xyz;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat4.w = 1.0;
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat4.xyz = u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat2;
					    u_xlat2.w = 1.0;
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat2.xyz = u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat7.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat7.xy);
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat18 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat18);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat18 = u_xlat18 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_4;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat8;
					vec2 u_xlat10;
					float u_xlat21;
					void main()
					{
					    u_xlat0.w = 1.0;
					    u_xlat1.w = 1.0;
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat2 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat3.x = dot(u_xlat2.zw, u_xlat2.zw);
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx;
					    u_xlat2 = u_xlat2 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = u_xlat2 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlati3 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati3].xyxy;
					    u_xlat2 = u_xlat2 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat5 = textureLod(_MainTex, u_xlat2.xy, 0.0);
					    u_xlat2 = textureLod(_MainTex, u_xlat2.zw, 0.0);
					    u_xlat5 = u_xlat1 * u_xlat5;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat0.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat10.xy = vs_TEXCOORD0.xy;
					    u_xlat10.xy = clamp(u_xlat10.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat10.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati3].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat0 = u_xlat6 * u_xlat0 + u_xlat5;
					    u_xlat5.w = 1.0;
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat5.xyz = u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0 = u_xlat2 * u_xlat5 + u_xlat0;
					    u_xlat1.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat1;
					    u_xlat1 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat1 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat1.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat1 = u_xlat1.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat2 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati3].zwzw;
					    u_xlat3 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat3 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat1 = texture(_BloomTex, u_xlat1.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat1 = u_xlat1 + u_xlat2;
					    u_xlat1 = u_xlat1 * _Bloom_Settings.yyyy;
					    u_xlat2 = u_xlat1 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat1 = u_xlat1 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat2 * u_xlat1 + u_xlat0;
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat1.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = _Grain_Params1.xxxy.z * (-u_xlat1.x) + 1.0;
					    u_xlat8.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat8.xy);
					    u_xlat8.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat1.xxx + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat21 = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + vec3(u_xlat21);
					    u_xlat0 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat1.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat21 = u_xlat21 * 2.0 + -1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat1.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat1.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat1.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat1.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat15;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat17;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat8.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat8.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat8.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat8.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat8.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat8.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat8.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat8.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat8.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat3.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat9.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat9.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat9.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat8;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat8.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat8.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat8.z : u_xlat3.z;
					        u_xlat8 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat8.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec2 u_xlat14;
					bool u_xlatb15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec2 u_xlat16;
					bool u_xlatb17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb15;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb17;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat9.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat9.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat9.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat9.x = log2(u_xlat9.x);
					        u_xlat9.x = u_xlat9.x * 2.4000001;
					        u_xlat9.x = exp2(u_xlat9.x);
					        u_xlatb17 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb17) ? u_xlat1.x : u_xlat9.x;
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat9.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat15;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat17;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat9.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat17.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat17.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[5];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[6];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb9;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb9;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb9;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb10;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb10 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat9.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					vec2 u_xlat14;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					vec2 u_xlat16;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat16.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat16.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat24 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat24 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat24 = -abs(u_xlat24) + 1.0;
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat24) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat8.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat9.x;
					    u_xlat9.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat9.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat9.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat9.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[3];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bool u_xlatb10;
					float u_xlat21;
					float u_xlat22;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat7.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat7.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					    u_xlat7.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat6 = u_xlat3 * u_xlat6;
					    u_xlat5 = u_xlat5 * u_xlat2 + u_xlat6;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat7.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat7.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb10 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb10) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat8.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[4];
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec2 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb11;
					float u_xlat24;
					int u_xlati24;
					float u_xlat25;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat8.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat8.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat8.xy = vs_TEXCOORD0.xy;
					    u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					    u_xlati24 = unity_StereoEyeIndex;
					    u_xlat5 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati24].xyxy;
					    u_xlat8.xy = u_xlat8.xy * u_xlat5.xy + unity_StereoScaleOffset[u_xlati24].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = clamp(u_xlat1, 0.0, 1.0);
					    u_xlat1 = u_xlat1 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat7 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1 = textureLod(_MainTex, u_xlat1.zw, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat7 = u_xlat3 * u_xlat7;
					    u_xlat6 = u_xlat6 * u_xlat2 + u_xlat7;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat0.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat0.xxxx + vs_TEXCOORD0.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat5 + unity_StereoScaleOffset[u_xlati24].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = vs_TEXCOORD0.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat25 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat25 = u_xlat25 + -1.0;
					        u_xlat25 = _Vignette_Settings.w * u_xlat25 + 1.0;
					        u_xlat1.x = u_xlat25 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat9.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat9.xyz = u_xlat1.xxx * u_xlat9.xyz + _Vignette_Color.xyz;
					        u_xlat9.xyz = u_xlat0.xyz * u_xlat9.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat3 = texture(_Vignette_Mask, vs_TEXCOORD0.xy);
					        u_xlat1.x = u_xlat3.w * 0.0773993805;
					        u_xlat3.x = u_xlat3.w + 0.0549999997;
					        u_xlat3.x = u_xlat3.x * 0.947867334;
					        u_xlat3.x = max(abs(u_xlat3.x), 1.1920929e-07);
					        u_xlat3.x = log2(u_xlat3.x);
					        u_xlat3.x = u_xlat3.x * 2.4000001;
					        u_xlat3.x = exp2(u_xlat3.x);
					        u_xlatb11 = 0.0404499993>=u_xlat3.w;
					        u_xlat1.x = (u_xlatb11) ? u_xlat1.x : u_xlat3.x;
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = vec3(_Vignette_Opacity) * u_xlat3.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat3.xyz = u_xlat9.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat24 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat24 = sqrt(u_xlat24);
					    u_xlat24 = _Grain_Params1.xxxy.z * (-u_xlat24) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat9.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat9.xyz;
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat8.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[12];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[12];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[12];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[12];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[12];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[12];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					float u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2 = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2 / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2 = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2 = u_xlat6 * u_xlat2;
					        u_xlat6 = u_xlat2 * u_xlat2;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2 = u_xlat2 * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2) : u_xlat2;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[12];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[10];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[10];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[10];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[10];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[10];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[10];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						vec4 unused_0_5[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11 + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					vec2 u_xlat10;
					vec2 u_xlat11;
					float u_xlat12;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb17;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat10.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb6 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb6){
					        u_xlat6.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat6.x);
					        u_xlat3.x = cos(u_xlat6.x);
					        u_xlat6.x = u_xlat2.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat6.y;
					        u_xlat6.x = u_xlat6.x * u_xlat11.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat6.xx + u_xlat10.xy;
					    } else {
					        u_xlat16 = float(1.0) / u_xlat1.x;
					        u_xlat16 = u_xlat16 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat7 = max(abs(u_xlat1.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat12 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat12 = u_xlat7 * u_xlat12 + 0.180141002;
					        u_xlat12 = u_xlat7 * u_xlat12 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat12 + 0.999866009;
					        u_xlat12 = u_xlat7 * u_xlat2.x;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat12 = u_xlat12 * -2.0 + 1.57079637;
					        u_xlat12 = u_xlatb17 ? u_xlat12 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat12;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat16 * u_xlat1.x + -1.0;
					        u_xlat6.xy = u_xlat0.xy * u_xlat1.xx + u_xlat10.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat6.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat15) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_3[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[9];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_7;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					float u_xlat3;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3 = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						vec4 unused_0_6[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_9;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat13 = u_xlat1.w;
					    u_xlat13 = clamp(u_xlat13, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat4.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat8.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat8.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4.x);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat12 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat12 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat12 = -abs(u_xlat12) + 1.0;
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat12) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat13;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat4 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat4 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat4);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat5.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat5.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat5.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[28];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[29];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_4[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_7[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_10;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat5;
					bool u_xlatb5;
					float u_xlat6;
					vec2 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat12;
					float u_xlat13;
					bool u_xlatb14;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD1.xy + vec2(-0.5, -0.5);
					    u_xlat8.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb5 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb5){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat5.x);
					        u_xlat3.x = cos(u_xlat5.x);
					        u_xlat5.x = u_xlat2.x / u_xlat3.x;
					        u_xlat9 = float(1.0) / u_xlat5.y;
					        u_xlat5.x = u_xlat5.x * u_xlat9 + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat5.xx + u_xlat8.xy;
					    } else {
					        u_xlat13 = float(1.0) / u_xlat1.x;
					        u_xlat13 = u_xlat13 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat6 = max(abs(u_xlat1.x), 1.0);
					        u_xlat6 = float(1.0) / u_xlat6;
					        u_xlat2.x = u_xlat6 * u_xlat2.x;
					        u_xlat6 = u_xlat2.x * u_xlat2.x;
					        u_xlat10 = u_xlat6 * 0.0208350997 + -0.0851330012;
					        u_xlat10 = u_xlat6 * u_xlat10 + 0.180141002;
					        u_xlat10 = u_xlat6 * u_xlat10 + -0.330299497;
					        u_xlat6 = u_xlat6 * u_xlat10 + 0.999866009;
					        u_xlat10 = u_xlat6 * u_xlat2.x;
					        u_xlatb14 = 1.0<abs(u_xlat1.x);
					        u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					        u_xlat10 = u_xlatb14 ? u_xlat10 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat6 + u_xlat10;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat1.x = u_xlat13 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat0.xy * u_xlat1.xx + u_xlat8.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = texture(_MainTex, u_xlat5.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat12 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = _Grain_Params1.xxxy.z * (-u_xlat12) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat12) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat4 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_11;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat2.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat2.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat2.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat2.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat2.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_12[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat5.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5.x = clamp(u_xlat5.x, 0.0, 1.0);
					    u_xlat5.x = u_xlat5.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat5.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat5;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat5.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat5.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat5.z : u_xlat2.z;
					        u_xlat5 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_13[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_14[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					bool u_xlatb6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat1.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat1.x = u_xlat2.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb6 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb6) ? u_xlat15 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[7];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec2 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[6];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					float u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3 = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3 / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3 = float(1.0) / u_xlat2.x;
					        u_xlat3 = u_xlat3 * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3 * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3 = u_xlat7 * u_xlat3 + 0.180141002;
					        u_xlat3 = u_xlat7 * u_xlat3 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3 + 0.999866009;
					        u_xlat3 = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3 = u_xlat3 * -2.0 + 1.57079637;
					        u_xlat3 = u_xlatb8 ? u_xlat3 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					float u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3 = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3 / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3 = float(1.0) / u_xlat2.x;
					        u_xlat3 = u_xlat3 * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3 * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3 = u_xlat7 * u_xlat3 + 0.180141002;
					        u_xlat3 = u_xlat7 * u_xlat3 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3 + 0.999866009;
					        u_xlat3 = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3 = u_xlat3 * -2.0 + 1.57079637;
					        u_xlat3 = u_xlatb8 ? u_xlat3 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					float u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3 = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3 / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3 = float(1.0) / u_xlat2.x;
					        u_xlat3 = u_xlat3 * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3 * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3 = u_xlat7 * u_xlat3 + 0.180141002;
					        u_xlat3 = u_xlat7 * u_xlat3 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3 + 0.999866009;
					        u_xlat3 = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3 = u_xlat3 * -2.0 + 1.57079637;
					        u_xlat3 = u_xlatb8 ? u_xlat3 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					float u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3 = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3 / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3 = float(1.0) / u_xlat2.x;
					        u_xlat3 = u_xlat3 * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3 * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3 = u_xlat7 * u_xlat3 + 0.180141002;
					        u_xlat3 = u_xlat7 * u_xlat3 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3 + 0.999866009;
					        u_xlat3 = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3 = u_xlat3 * -2.0 + 1.57079637;
					        u_xlat3 = u_xlatb8 ? u_xlat3 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					float u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3 = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3 / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3 = float(1.0) / u_xlat2.x;
					        u_xlat3 = u_xlat3 * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3 * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3 = u_xlat7 * u_xlat3 + 0.180141002;
					        u_xlat3 = u_xlat7 * u_xlat3 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3 + 0.999866009;
					        u_xlat3 = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3 = u_xlat3 * -2.0 + 1.57079637;
					        u_xlat3 = u_xlatb8 ? u_xlat3 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[6];
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					float u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3 = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3 / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3 = float(1.0) / u_xlat2.x;
					        u_xlat3 = u_xlat3 * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3 * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3 = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3 = u_xlat7 * u_xlat3 + 0.180141002;
					        u_xlat3 = u_xlat7 * u_xlat3 + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3 + 0.999866009;
					        u_xlat3 = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3 = u_xlat3 * -2.0 + 1.57079637;
					        u_xlat3 = u_xlatb8 ? u_xlat3 : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        SV_Target0.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					vec3 u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat10;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5.x = u_xlat5.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat5.xx + u_xlat1.zw;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat0.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat5.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat5.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat5.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat10.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat10.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5.x);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat15 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat15 = -abs(u_xlat15) + 1.0;
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat15) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[5];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[6];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[5];
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					float u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					bool u_xlatb15;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb15 = _Vignette_Mode<0.5;
					    if(u_xlatb15){
					        u_xlat1.xy = u_xlat12.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat15 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat15 = u_xlat15 + -1.0;
					        u_xlat15 = _Vignette_Settings.w * u_xlat15 + 1.0;
					        u_xlat1.x = u_xlat15 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat15 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat15 = (-u_xlat15) + 1.0;
					        u_xlat15 = max(u_xlat15, 0.0);
					        u_xlat15 = log2(u_xlat15);
					        u_xlat15 = u_xlat15 * _Vignette_Settings.y;
					        u_xlat15 = exp2(u_xlat15);
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					        u_xlat2.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat12.xy);
					        u_xlat15 = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb7 = 0.0404499993>=u_xlat2.w;
					        u_xlat15 = (u_xlatb7) ? u_xlat15 : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat1.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat1.w + -1.0;
					        u_xlat3.w = u_xlat15 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat15 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat15 = sqrt(u_xlat15);
					    u_xlat15 = _Grain_Params1.xxxy.z * (-u_xlat15) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat18;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat21 = u_xlat0.w;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat21;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat18;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat21 = u_xlat0.w;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat21;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat18;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat21 = u_xlat0.w;
					    u_xlat21 = clamp(u_xlat21, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat21;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat22 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat22 = sqrt(u_xlat22);
					    u_xlat22 = _Grain_Params1.xxxy.z * (-u_xlat22) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat22) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat2.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat8.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat8.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat8.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat2.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat2.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat8.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat8.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat8.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat2.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat2.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat8.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat8.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat8.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat7;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat7.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat7.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat7.z : u_xlat2.z;
					        u_xlat7 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					bool u_xlatb15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat8.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat8.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat8.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat8.x = log2(u_xlat8.x);
					        u_xlat8.x = u_xlat8.x * 2.4000001;
					        u_xlat8.x = exp2(u_xlat8.x);
					        u_xlatb15 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb15) ? u_xlat1.x : u_xlat8.x;
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat8.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat15;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat8.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat8.x = floor(u_xlat8.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat8.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat15.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat15.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat8.x);
					    u_xlat8.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat8.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat14;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7.x = u_xlat7.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat7.xx + u_xlat1.zw;
					    } else {
					        u_xlat7.x = float(1.0) / u_xlat0.x;
					        u_xlat7.x = u_xlat7.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat7.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat14.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat14.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat7.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat21 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat21 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat21 = -abs(u_xlat21) + 1.0;
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat21) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat7 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat7 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat7);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat8.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat8.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat8.x;
					    u_xlat8.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat8.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat8.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat8.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat2.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat2.xy = u_xlat14.xy;
					    u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					    u_xlat2.xy = u_xlat2.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat14.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat14.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					float u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					bool u_xlatb10;
					vec2 u_xlat16;
					float u_xlat17;
					vec2 u_xlat18;
					float u_xlat21;
					float u_xlat22;
					float u_xlat23;
					float u_xlat24;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb9 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb9){
					        u_xlat16.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat16.x);
					        u_xlat4.x = cos(u_xlat16.x);
					        u_xlat16.x = u_xlat3.x / u_xlat4.x;
					        u_xlat23 = float(1.0) / u_xlat16.y;
					        u_xlat16.x = u_xlat16.x * u_xlat23 + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat16.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat2.x), 1.0);
					        u_xlat17 = max(abs(u_xlat2.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat10 = u_xlat17 * u_xlat10;
					        u_xlat17 = u_xlat10 * u_xlat10;
					        u_xlat24 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat17 * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat17 * u_xlat24 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat17 * u_xlat10;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb4 ? u_xlat24 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat17 + u_xlat24;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat10) : u_xlat10;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat16.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb9){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat7 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat7 = u_xlat7 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat7) + u_xlat1.zw;
					    } else {
					        u_xlat7 = float(1.0) / u_xlat0.x;
					        u_xlat7 = u_xlat7 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat9 = max(abs(u_xlat0.x), 1.0);
					        u_xlat9 = float(1.0) / u_xlat9;
					        u_xlat2.x = u_xlat9 * u_xlat2.x;
					        u_xlat9 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat9 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat9 * u_xlat3.x + -0.330299497;
					        u_xlat9 = u_xlat9 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat9 * u_xlat2.x;
					        u_xlatb10 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb10 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat9 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat7 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat4.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3 = u_xlat3 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat18.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat18.xy = u_xlat16.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat18.xy = u_xlat18.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat18.xy);
					    u_xlat3 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat16.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat4.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat3 = u_xlat3 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat16.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat4.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat16.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat16.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat22 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat22 = u_xlat22 + -1.0;
					        u_xlat22 = _Vignette_Settings.w * u_xlat22 + 1.0;
					        u_xlat1.x = u_xlat22 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat8.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat8.xyz = u_xlat1.xxx * u_xlat8.xyz + _Vignette_Color.xyz;
					        u_xlat8.xyz = u_xlat0.xyz * u_xlat8.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat16.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb9 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb9) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat8.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat21 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat21 = sqrt(u_xlat21);
					    u_xlat21 = _Grain_Params1.xxxy.z * (-u_xlat21) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat8.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat21) + u_xlat8.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat7 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat7 = clamp(u_xlat7, 0.0, 1.0);
					    u_xlat7 = u_xlat7 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat7;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_10[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat11;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat11.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat11.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat6.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat15 = u_xlat0.w;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat15;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat18;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat15 = u_xlat0.w;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat15;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat18;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat15 = u_xlat0.w;
					    u_xlat15 = clamp(u_xlat15, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat15;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat18 = u_xlat0.w;
					    u_xlat18 = clamp(u_xlat18, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat18;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					vec3 u_xlat6;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat5 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat5 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat5);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat6.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat6.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat6.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					float u_xlat5;
					float u_xlat7;
					bool u_xlatb7;
					float u_xlat8;
					bool u_xlatb8;
					vec2 u_xlat12;
					float u_xlat13;
					float u_xlat16;
					float u_xlat17;
					float u_xlat18;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb7 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb7){
					        u_xlat12.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat4.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat3.x / u_xlat4.x;
					        u_xlat17 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat17 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat8 = min(abs(u_xlat2.x), 1.0);
					        u_xlat13 = max(abs(u_xlat2.x), 1.0);
					        u_xlat13 = float(1.0) / u_xlat13;
					        u_xlat8 = u_xlat13 * u_xlat8;
					        u_xlat13 = u_xlat8 * u_xlat8;
					        u_xlat18 = u_xlat13 * 0.0208350997 + -0.0851330012;
					        u_xlat18 = u_xlat13 * u_xlat18 + 0.180141002;
					        u_xlat18 = u_xlat13 * u_xlat18 + -0.330299497;
					        u_xlat13 = u_xlat13 * u_xlat18 + 0.999866009;
					        u_xlat18 = u_xlat13 * u_xlat8;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat18 = u_xlat18 * -2.0 + 1.57079637;
					        u_xlat18 = u_xlatb4 ? u_xlat18 : float(0.0);
					        u_xlat8 = u_xlat8 * u_xlat13 + u_xlat18;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat8) : u_xlat8;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb7){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat5 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat5 = u_xlat5 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat5) + u_xlat1.zw;
					    } else {
					        u_xlat5 = float(1.0) / u_xlat0.x;
					        u_xlat5 = u_xlat5 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat7 = max(abs(u_xlat0.x), 1.0);
					        u_xlat7 = float(1.0) / u_xlat7;
					        u_xlat2.x = u_xlat7 * u_xlat2.x;
					        u_xlat7 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat7 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat7 * u_xlat3.x + -0.330299497;
					        u_xlat7 = u_xlat7 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat7 * u_xlat2.x;
					        u_xlatb8 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb8 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat7 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat5 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat12.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat12.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat16 = sqrt(u_xlat16);
					    u_xlat16 = _Grain_Params1.xxxy.z * (-u_xlat16) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat16) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat5 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat19 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat19 = sqrt(u_xlat19);
					    u_xlat19 = _Grain_Params1.xxxy.z * (-u_xlat19) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat19) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec2 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat2.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat2.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat2.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat2.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat2.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat6.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0);
					    u_xlat6.x = u_xlat6.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat6.xyz = u_xlat7.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat7.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat7.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat6;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat6.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat6.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat6.z : u_xlat2.z;
					        u_xlat6 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					bool u_xlatb13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat7.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat7.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat7.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat7.x = log2(u_xlat7.x);
					        u_xlat7.x = u_xlat7.x * 2.4000001;
					        u_xlat7.x = exp2(u_xlat7.x);
					        u_xlatb13 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb13) ? u_xlat1.x : u_xlat7.x;
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat7.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_12;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat13;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat7.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat7.x = floor(u_xlat7.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat7.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat7.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat13.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat13.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat7.x);
					    u_xlat7.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat7.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0 = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_21;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat12;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2.x = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2.x) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6.x = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6.x = u_xlat6.x * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat6.xx + u_xlat1.zw;
					    } else {
					        u_xlat6.x = float(1.0) / u_xlat0.x;
					        u_xlat6.x = u_xlat6.x * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6.x * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat6.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6.x = floor(u_xlat6.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat6.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat6.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat12.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat12.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6.x);
					    u_xlat6.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat6.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat18 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat18 = -abs(u_xlat18) + 1.0;
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat18) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat6 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat6 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat6);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat7.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat7.x = clamp(u_xlat7.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat7.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat7.x;
					    u_xlat7.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat7.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat7.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat7.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					 vec4 phase0_Input0_1;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					float u_xlat6;
					int u_xlati6;
					vec3 u_xlat7;
					float u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat14;
					float u_xlat15;
					float u_xlat18;
					float u_xlat19;
					float u_xlat20;
					float u_xlat21;
					void main()
					{
					    phase0_Input0_1 = vec4(vs_TEXCOORD0, vs_TEXCOORD1);
					    u_xlat0 = phase0_Input0_1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat1 = u_xlat0 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat0 = u_xlat0 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat0 = u_xlat0 * _Distortion_CenterScale.zwzw;
					    u_xlat2.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlatb8 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb8){
					        u_xlat14.xy = u_xlat2.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat14.x);
					        u_xlat4.x = cos(u_xlat14.x);
					        u_xlat14.x = u_xlat3.x / u_xlat4.x;
					        u_xlat20 = float(1.0) / u_xlat14.y;
					        u_xlat14.x = u_xlat14.x * u_xlat20 + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat14.xx + u_xlat1.xy;
					    } else {
					        u_xlat3.x = float(1.0) / u_xlat2.x;
					        u_xlat3.x = u_xlat3.x * _Distortion_Amount.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.y;
					        u_xlat9 = min(abs(u_xlat2.x), 1.0);
					        u_xlat15 = max(abs(u_xlat2.x), 1.0);
					        u_xlat15 = float(1.0) / u_xlat15;
					        u_xlat9 = u_xlat15 * u_xlat9;
					        u_xlat15 = u_xlat9 * u_xlat9;
					        u_xlat21 = u_xlat15 * 0.0208350997 + -0.0851330012;
					        u_xlat21 = u_xlat15 * u_xlat21 + 0.180141002;
					        u_xlat21 = u_xlat15 * u_xlat21 + -0.330299497;
					        u_xlat15 = u_xlat15 * u_xlat21 + 0.999866009;
					        u_xlat21 = u_xlat15 * u_xlat9;
					        u_xlatb4 = 1.0<abs(u_xlat2.x);
					        u_xlat21 = u_xlat21 * -2.0 + 1.57079637;
					        u_xlat21 = u_xlatb4 ? u_xlat21 : float(0.0);
					        u_xlat9 = u_xlat9 * u_xlat15 + u_xlat21;
					        u_xlat2.x = min(u_xlat2.x, 1.0);
					        u_xlatb2 = u_xlat2.x<(-u_xlat2.x);
					        u_xlat2.x = (u_xlatb2) ? (-u_xlat9) : u_xlat9;
					        u_xlat2.x = u_xlat3.x * u_xlat2.x + -1.0;
					        u_xlat14.xy = u_xlat0.xy * u_xlat2.xx + u_xlat1.xy;
					    }
					    u_xlat0.x = dot(u_xlat0.zw, u_xlat0.zw);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    if(u_xlatb8){
					        u_xlat1.xy = u_xlat0.xx * _Distortion_Amount.xy;
					        u_xlat2.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat6 = u_xlat1.x / u_xlat2.x;
					        u_xlat1.x = float(1.0) / u_xlat1.y;
					        u_xlat6 = u_xlat6 * u_xlat1.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * vec2(u_xlat6) + u_xlat1.zw;
					    } else {
					        u_xlat6 = float(1.0) / u_xlat0.x;
					        u_xlat6 = u_xlat6 * _Distortion_Amount.x;
					        u_xlat0.x = u_xlat0.x * _Distortion_Amount.y;
					        u_xlat2.x = min(abs(u_xlat0.x), 1.0);
					        u_xlat8 = max(abs(u_xlat0.x), 1.0);
					        u_xlat8 = float(1.0) / u_xlat8;
					        u_xlat2.x = u_xlat8 * u_xlat2.x;
					        u_xlat8 = u_xlat2.x * u_xlat2.x;
					        u_xlat3.x = u_xlat8 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat8 * u_xlat3.x + -0.330299497;
					        u_xlat8 = u_xlat8 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat8 * u_xlat2.x;
					        u_xlatb9 = 1.0<abs(u_xlat0.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb9 ? u_xlat3.x : float(0.0);
					        u_xlat2.x = u_xlat2.x * u_xlat8 + u_xlat3.x;
					        u_xlat0.x = min(u_xlat0.x, 1.0);
					        u_xlatb0.x = u_xlat0.x<(-u_xlat0.x);
					        u_xlat0.x = (u_xlatb0.x) ? (-u_xlat2.x) : u_xlat2.x;
					        u_xlat0.x = u_xlat6 * u_xlat0.x + -1.0;
					        u_xlat1.xy = u_xlat0.zw * u_xlat0.xx + u_xlat1.zw;
					    }
					    u_xlat0 = texture(_AutoExposureTex, phase0_Input0_1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat2.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat4 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati6].xyxy;
					    u_xlat3 = u_xlat3 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat5 = u_xlat0.xwzw * u_xlat2.xxxx + u_xlat14.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat0 = u_xlat5 * u_xlat4 + unity_StereoScaleOffset[u_xlati6].zwzw;
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat2.xy = u_xlat14.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat1 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat14.xy + (-_Vignette_Center.xy);
					        u_xlat1.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat19 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat19 = u_xlat19 + -1.0;
					        u_xlat19 = _Vignette_Settings.w * u_xlat19 + 1.0;
					        u_xlat1.x = u_xlat19 * u_xlat1.z;
					        u_xlat1.xy = u_xlat1.xy;
					        u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat1.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat7.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat7.xyz = u_xlat1.xxx * u_xlat7.xyz + _Vignette_Color.xyz;
					        u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					        u_xlat2.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat2.x + 1.0;
					    } else {
					        u_xlat2 = texture(_Vignette_Mask, u_xlat14.xy);
					        u_xlat1.x = u_xlat2.w * 0.0773993805;
					        u_xlat2.x = u_xlat2.w + 0.0549999997;
					        u_xlat2.x = u_xlat2.x * 0.947867334;
					        u_xlat2.x = max(abs(u_xlat2.x), 1.1920929e-07);
					        u_xlat2.x = log2(u_xlat2.x);
					        u_xlat2.x = u_xlat2.x * 2.4000001;
					        u_xlat2.x = exp2(u_xlat2.x);
					        u_xlatb8 = 0.0404499993>=u_xlat2.w;
					        u_xlat1.x = (u_xlatb8) ? u_xlat1.x : u_xlat2.x;
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = vec3(_Vignette_Opacity) * u_xlat2.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = phase0_Input0_1.zw * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat2.xyz = u_xlat7.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat18 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat18 = sqrt(u_xlat18);
					    u_xlat18 = _Grain_Params1.xxxy.z * (-u_xlat18) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18) + u_xlat7.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = phase0_Input0_1.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat6 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat23;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat23;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat23;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec2 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat34 = u_xlat1.w;
					    u_xlat34 = clamp(u_xlat34, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat3 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat34;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat34 = u_xlat1.w;
					    u_xlat34 = clamp(u_xlat34, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat3 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat34;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat34 = u_xlat1.w;
					    u_xlat34 = clamp(u_xlat34, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat3 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat34;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat10.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat23;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat23;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat23;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat34 = u_xlat1.w;
					    u_xlat34 = clamp(u_xlat34, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat3 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat34;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat34 = u_xlat1.w;
					    u_xlat34 = clamp(u_xlat34, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat3 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat34;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat34 = u_xlat1.w;
					    u_xlat34 = clamp(u_xlat34, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat3 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat34;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat21.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat21.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat21.xy = u_xlat10.xy + u_xlat21.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat3 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat19;
					float u_xlat20;
					int u_xlati23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					int u_xlati34;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    u_xlati23 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati23].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat24.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat24.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati23].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat24.xy = u_xlat11.xy + u_xlat24.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat4.xyz = u_xlat0.xyz;
					    u_xlat4.xyz = clamp(u_xlat4.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat33) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					float u_xlat8;
					vec2 u_xlat9;
					bool u_xlatb10;
					float u_xlat16;
					float u_xlat17;
					vec2 u_xlat19;
					int u_xlati20;
					vec2 u_xlat24;
					float u_xlat25;
					bool u_xlatb26;
					float u_xlat27;
					int u_xlati27;
					float u_xlat29;
					bool u_xlatb29;
					float u_xlat34;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat9.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat9.xy = vec2(u_xlat27) * u_xlat9.xy;
					    u_xlat9.xy = u_xlat9.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat9.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat27 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlati27 = int(u_xlat27);
					    u_xlati27 = max(u_xlati27, 3);
					    u_xlati27 = min(u_xlati27, 16);
					    u_xlat1.x = float(u_xlati27);
					    u_xlat9.xy = (-u_xlat9.xy) / u_xlat1.xx;
					    u_xlatb10 = 0.0<_Distortion_Amount.w;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat19.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati27 ; u_xlati_loop_1++)
					    {
					        u_xlat29 = float(u_xlati_loop_1);
					        u_xlat29 = u_xlat29 + 0.5;
					        u_xlat2.x = u_xlat29 / u_xlat1.x;
					        u_xlat6.xy = u_xlat19.xy + vec2(-0.5, -0.5);
					        u_xlat24.xy = u_xlat6.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat6.xy = u_xlat6.xy * _Distortion_CenterScale.zw;
					        u_xlat29 = dot(u_xlat6.xy, u_xlat6.xy);
					        u_xlat29 = sqrt(u_xlat29);
					        if(u_xlatb10){
					            u_xlat7.xy = vec2(u_xlat29) * _Distortion_Amount.xy;
					            u_xlat8 = cos(u_xlat7.x);
					            u_xlat7.x = sin(u_xlat7.x);
					            u_xlat7.x = u_xlat7.x / u_xlat8;
					            u_xlat16 = float(1.0) / u_xlat7.y;
					            u_xlat7.x = u_xlat7.x * u_xlat16 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * u_xlat7.xx + u_xlat24.xy;
					        } else {
					            u_xlat25 = float(1.0) / u_xlat29;
					            u_xlat25 = u_xlat25 * _Distortion_Amount.x;
					            u_xlat29 = u_xlat29 * _Distortion_Amount.y;
					            u_xlat34 = min(abs(u_xlat29), 1.0);
					            u_xlat8 = max(abs(u_xlat29), 1.0);
					            u_xlat8 = float(1.0) / u_xlat8;
					            u_xlat34 = u_xlat34 * u_xlat8;
					            u_xlat8 = u_xlat34 * u_xlat34;
					            u_xlat17 = u_xlat8 * 0.0208350997 + -0.0851330012;
					            u_xlat17 = u_xlat8 * u_xlat17 + 0.180141002;
					            u_xlat17 = u_xlat8 * u_xlat17 + -0.330299497;
					            u_xlat8 = u_xlat8 * u_xlat17 + 0.999866009;
					            u_xlat17 = u_xlat34 * u_xlat8;
					            u_xlatb26 = 1.0<abs(u_xlat29);
					            u_xlat17 = u_xlat17 * -2.0 + 1.57079637;
					            u_xlat17 = u_xlatb26 ? u_xlat17 : float(0.0);
					            u_xlat34 = u_xlat34 * u_xlat8 + u_xlat17;
					            u_xlat29 = min(u_xlat29, 1.0);
					            u_xlatb29 = u_xlat29<(-u_xlat29);
					            u_xlat29 = (u_xlatb29) ? (-u_xlat34) : u_xlat34;
					            u_xlat29 = u_xlat25 * u_xlat29 + -1.0;
					            u_xlat7.xy = u_xlat6.xy * vec2(u_xlat29) + u_xlat24.xy;
					        }
					        u_xlat7.xy = u_xlat7.xy;
					        u_xlat7.xy = clamp(u_xlat7.xy, 0.0, 1.0);
					        u_xlat6.xy = u_xlat7.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat6 = textureLod(_MainTex, u_xlat6.xy, 0.0);
					        u_xlat7 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat7.xyz;
					        u_xlat4 = u_xlat6 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat19.xy = u_xlat9.xy + u_xlat19.xy;
					    }
					    u_xlat1 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_7[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_11[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_14;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					bool u_xlatb11;
					bool u_xlatb19;
					int u_xlati21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					int u_xlati31;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat1.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat1.xy = u_xlat1.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    u_xlati21 = unity_StereoEyeIndex;
					    u_xlat2.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati21].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat23.x = float(u_xlati_loop_1);
					        u_xlat23.x = u_xlat23.x + 0.5;
					        u_xlat3.x = u_xlat23.x / u_xlat1.x;
					        u_xlat23.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat23.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat23.xy = u_xlat23.xy * _Distortion_CenterScale.zw;
					        u_xlat27 = dot(u_xlat23.xy, u_xlat23.xy);
					        u_xlat27 = sqrt(u_xlat27);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat37 = u_xlat8.x / u_xlat9;
					            u_xlat8.x = float(1.0) / u_xlat8.y;
					            u_xlat37 = u_xlat37 * u_xlat8.x + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat37) + u_xlat7.xy;
					        } else {
					            u_xlat37 = float(1.0) / u_xlat27;
					            u_xlat37 = u_xlat37 * _Distortion_Amount.x;
					            u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					            u_xlat28 = min(abs(u_xlat27), 1.0);
					            u_xlat38 = max(abs(u_xlat27), 1.0);
					            u_xlat38 = float(1.0) / u_xlat38;
					            u_xlat28 = u_xlat38 * u_xlat28;
					            u_xlat38 = u_xlat28 * u_xlat28;
					            u_xlat9 = u_xlat38 * 0.0208350997 + -0.0851330012;
					            u_xlat9 = u_xlat38 * u_xlat9 + 0.180141002;
					            u_xlat9 = u_xlat38 * u_xlat9 + -0.330299497;
					            u_xlat38 = u_xlat38 * u_xlat9 + 0.999866009;
					            u_xlat9 = u_xlat38 * u_xlat28;
					            u_xlatb19 = 1.0<abs(u_xlat27);
					            u_xlat9 = u_xlat9 * -2.0 + 1.57079637;
					            u_xlat9 = u_xlatb19 ? u_xlat9 : float(0.0);
					            u_xlat28 = u_xlat28 * u_xlat38 + u_xlat9;
					            u_xlat27 = min(u_xlat27, 1.0);
					            u_xlatb27 = u_xlat27<(-u_xlat27);
					            u_xlat27 = (u_xlatb27) ? (-u_xlat28) : u_xlat28;
					            u_xlat27 = u_xlat37 * u_xlat27 + -1.0;
					            u_xlat8.xy = u_xlat23.xy * vec2(u_xlat27) + u_xlat7.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat23.xy = u_xlat8.xy * u_xlat2.xy + unity_StereoScaleOffset[u_xlati21].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat23.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat1 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat4.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat4.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_18[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec4 unused_0_11;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        SV_Target0.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat3.x = u_xlat30 * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = vec3(u_xlat30) * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat1.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat3.w + -1.0;
					        u_xlat4.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec2 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat4.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb30 = _Vignette_Mode<0.5;
					    if(u_xlatb30){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat30 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat30 = u_xlat30 + -1.0;
					        u_xlat30 = _Vignette_Settings.w * u_xlat30 + 1.0;
					        u_xlat2.x = u_xlat30 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat30 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat30 = (-u_xlat30) + 1.0;
					        u_xlat30 = max(u_xlat30, 0.0);
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * _Vignette_Settings.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat30 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb11 = 0.0404499993>=u_xlat1.w;
					        u_xlat30 = (u_xlatb11) ? u_xlat30 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat30 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 unused_0_9[3];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_20;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat2 = u_xlat5 / u_xlat6;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlatb33 = _Vignette_Mode<0.5;
					    if(u_xlatb33){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat33 = _ScreenParams.x / _ScreenParams.y;
					        u_xlat33 = u_xlat33 + -1.0;
					        u_xlat33 = _Vignette_Settings.w * u_xlat33 + 1.0;
					        u_xlat2.x = u_xlat33 * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat33 = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat33 = max(u_xlat33, 0.0);
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * _Vignette_Settings.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat1.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat1.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat33 = u_xlat1.w * 0.0773993805;
					        u_xlat1.x = u_xlat1.w + 0.0549999997;
					        u_xlat1.x = u_xlat1.x * 0.947867334;
					        u_xlat1.x = max(abs(u_xlat1.x), 1.1920929e-07);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * 2.4000001;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlatb12 = 0.0404499993>=u_xlat1.w;
					        u_xlat33 = (u_xlatb12) ? u_xlat33 : u_xlat1.x;
					        u_xlat1.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz + _Vignette_Color.xyz;
					        u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat1.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat2.w + -1.0;
					        u_xlat3.w = u_xlat33 * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec3 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec3 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec3 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec3 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec3 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec3 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat4.z;
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat33 = u_xlat0.w;
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat33;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat33 = u_xlat0.w;
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat33;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat33 = u_xlat0.w;
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat33;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat4.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec3 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat4.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec3 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat4.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec3 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat4 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat23.xy = u_xlat25.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat22.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * vec4(_RenderViewportScaleFactor);
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec2 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = float(0.0);
					    u_xlat25.y = float(0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat29.x = float(u_xlati_loop_1);
					        u_xlat29.x = u_xlat29.x + 0.5;
					        u_xlat3.x = u_xlat29.x / u_xlat1.x;
					        u_xlat29.xy = u_xlat7.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat29.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat29.xy = u_xlat29.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat29.xy, u_xlat29.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat29.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat29.xy = u_xlat9.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat29.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat9.xyz;
					        u_xlat5 = u_xlat8 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat7.xy = u_xlat11.xy + u_xlat7.xy;
					    }
					    u_xlat4 = u_xlat5 / u_xlat6;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat5 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat6;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat6 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat7 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat7 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat5 = u_xlat7 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat5;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat6 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat5 = u_xlat5 + u_xlat7;
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat5 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat4 + u_xlat6;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat25.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat25.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					bool u_xlatb8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					vec2 u_xlat19;
					float u_xlat20;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat29;
					float u_xlat30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat13.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xy;
					    u_xlat3.y = 0.0;
					    u_xlat4.w = 1.0;
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat25.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat7.x = float(u_xlati_loop_1);
					        u_xlat7.x = u_xlat7.x + 0.5;
					        u_xlat3.x = u_xlat7.x / u_xlat1.x;
					        u_xlat7.xy = u_xlat25.xy + vec2(-0.5, -0.5);
					        u_xlat29.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat8.x = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat8.x = sqrt(u_xlat8.x);
					        if(u_xlatb12){
					            u_xlat19.xy = u_xlat8.xx * _Distortion_Amount.xy;
					            u_xlat9 = sin(u_xlat19.x);
					            u_xlat10 = cos(u_xlat19.x);
					            u_xlat19.x = u_xlat9 / u_xlat10;
					            u_xlat30 = float(1.0) / u_xlat19.y;
					            u_xlat19.x = u_xlat19.x * u_xlat30 + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat19.xx + u_xlat29.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat8.x;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.y;
					            u_xlat9 = min(abs(u_xlat8.x), 1.0);
					            u_xlat20 = max(abs(u_xlat8.x), 1.0);
					            u_xlat20 = float(1.0) / u_xlat20;
					            u_xlat9 = u_xlat20 * u_xlat9;
					            u_xlat20 = u_xlat9 * u_xlat9;
					            u_xlat31 = u_xlat20 * 0.0208350997 + -0.0851330012;
					            u_xlat31 = u_xlat20 * u_xlat31 + 0.180141002;
					            u_xlat31 = u_xlat20 * u_xlat31 + -0.330299497;
					            u_xlat20 = u_xlat20 * u_xlat31 + 0.999866009;
					            u_xlat31 = u_xlat20 * u_xlat9;
					            u_xlatb42 = 1.0<abs(u_xlat8.x);
					            u_xlat31 = u_xlat31 * -2.0 + 1.57079637;
					            u_xlat31 = u_xlatb42 ? u_xlat31 : float(0.0);
					            u_xlat9 = u_xlat9 * u_xlat20 + u_xlat31;
					            u_xlat8.x = min(u_xlat8.x, 1.0);
					            u_xlatb8 = u_xlat8.x<(-u_xlat8.x);
					            u_xlat8.x = (u_xlatb8) ? (-u_xlat9) : u_xlat9;
					            u_xlat8.x = u_xlat41 * u_xlat8.x + -1.0;
					            u_xlat19.xy = u_xlat7.xy * u_xlat8.xx + u_xlat29.xy;
					        }
					        u_xlat19.xy = u_xlat19.xy;
					        u_xlat19.xy = clamp(u_xlat19.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat19.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat3.xy, 0.0);
					        u_xlat4.xyz = u_xlat8.xyz;
					        u_xlat5 = u_xlat7 * u_xlat4 + u_xlat5;
					        u_xlat6 = u_xlat4 + u_xlat6;
					        u_xlat25.xy = u_xlat11.xy + u_xlat25.xy;
					    }
					    u_xlat3 = u_xlat5 / u_xlat6;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat0.xywy) * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat0.zy) * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat0.zwxw * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat23.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat0.zywy * _Bloom_Settings.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat13.xyxy + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat0.xy = u_xlat0.xy * _Bloom_Settings.xx + u_xlat23.xy;
					    u_xlat0.xy = clamp(u_xlat0.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat0.xy * u_xlat13.xy + unity_StereoScaleOffset[u_xlati2].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0.wxyz + u_xlat1.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3.x ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3.x ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat1.x : u_xlat3.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat1.y : u_xlat3.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat1.z : u_xlat3.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3.x ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat4 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat4.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat3.x : u_xlat4.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat3.y : u_xlat4.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat3.z : u_xlat4.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat36 = u_xlat0.w;
					    u_xlat36 = clamp(u_xlat36, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat36;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat36 = u_xlat0.w;
					    u_xlat36 = clamp(u_xlat36, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat36;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat36 = u_xlat0.w;
					    u_xlat36 = clamp(u_xlat36, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat36;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat37 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat37 = sqrt(u_xlat37);
					    u_xlat37 = _Grain_Params1.xxxy.z * (-u_xlat37) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat37) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat3.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3.x ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3.x ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					bvec3 u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb4.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb4.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb4.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb4.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3.x ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat36 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat36 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat36 = -abs(u_xlat36) + 1.0;
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat36) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat36 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat36 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat36 = -abs(u_xlat36) + 1.0;
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat36) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat4 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat4.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat36 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat36 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat36 = -abs(u_xlat36) + 1.0;
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat36) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat4.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat4.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat4.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat0 = u_xlat4 * u_xlat5 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat4.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat4.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat4.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat4.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat4.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat4;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat3.x = u_xlat11.x * _Lut2D_Params.y + u_xlat3.y;
					    u_xlat4 = texture(_Lut2D, u_xlat3.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat21.xy = u_xlat22.xy + u_xlat3.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat4.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat13.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat13.x = floor(u_xlat13.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat13.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat13.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat25.xy = u_xlat28.xy + u_xlat2.xz;
					    u_xlat2 = texture(_Lut2D, u_xlat25.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat13.x);
					    u_xlat13.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat13.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat3 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat36 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat36 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat36 = -abs(u_xlat36) + 1.0;
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat36) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat36 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat36 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat36 = -abs(u_xlat36) + 1.0;
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat36) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3.x = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3.x ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat4 = u_xlat4;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat4.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat4.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat4.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat20.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat4.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat24.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat24.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat36 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat36 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat36 = -abs(u_xlat36) + 1.0;
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat36) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					float u_xlat18;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					int u_xlati26;
					vec2 u_xlat27;
					float u_xlat28;
					bool u_xlatb29;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = float(0.0);
					    u_xlat22.y = float(0.0);
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat6.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat36 = float(u_xlati_loop_1);
					        u_xlat36 = u_xlat36 + 0.5;
					        u_xlat2.x = u_xlat36 / u_xlat1.x;
					        u_xlat7.xy = u_xlat6.xy + vec2(-0.5, -0.5);
					        u_xlat27.xy = u_xlat7.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat7.xy = u_xlat7.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat7.xy, u_xlat7.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat8.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat9 = cos(u_xlat8.x);
					            u_xlat8.x = sin(u_xlat8.x);
					            u_xlat8.x = u_xlat8.x / u_xlat9;
					            u_xlat18 = float(1.0) / u_xlat8.y;
					            u_xlat8.x = u_xlat8.x * u_xlat18 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * u_xlat8.xx + u_xlat27.xy;
					        } else {
					            u_xlat28 = float(1.0) / u_xlat36;
					            u_xlat28 = u_xlat28 * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat38 = min(abs(u_xlat36), 1.0);
					            u_xlat9 = max(abs(u_xlat36), 1.0);
					            u_xlat9 = float(1.0) / u_xlat9;
					            u_xlat38 = u_xlat38 * u_xlat9;
					            u_xlat9 = u_xlat38 * u_xlat38;
					            u_xlat19 = u_xlat9 * 0.0208350997 + -0.0851330012;
					            u_xlat19 = u_xlat9 * u_xlat19 + 0.180141002;
					            u_xlat19 = u_xlat9 * u_xlat19 + -0.330299497;
					            u_xlat9 = u_xlat9 * u_xlat19 + 0.999866009;
					            u_xlat19 = u_xlat38 * u_xlat9;
					            u_xlatb29 = 1.0<abs(u_xlat36);
					            u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					            u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					            u_xlat38 = u_xlat38 * u_xlat9 + u_xlat19;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat38) : u_xlat38;
					            u_xlat36 = u_xlat28 * u_xlat36 + -1.0;
					            u_xlat8.xy = u_xlat7.xy * vec2(u_xlat36) + u_xlat27.xy;
					        }
					        u_xlat8.xy = u_xlat8.xy;
					        u_xlat8.xy = clamp(u_xlat8.xy, 0.0, 1.0);
					        u_xlat7.xy = u_xlat8.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat7.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat6.xy = u_xlat10.xy + u_xlat6.xy;
					    }
					    u_xlat3 = u_xlat4 / u_xlat5;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat4 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat5.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat4.xyz = u_xlat4.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat6;
					    u_xlat3.xyz = u_xlat5.xyz * u_xlat4.xyz;
					    u_xlat3.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat3.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat3.x = u_xlat1.x * u_xlat3.z;
					        u_xlat3.xy = u_xlat3.xy;
					        u_xlat3.xy = clamp(u_xlat3.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat3.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat3.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat3.xyz = u_xlat1.xxx * u_xlat3.xyz + _Vignette_Color.xyz;
					        u_xlat3.xyz = u_xlat0.xyz * u_xlat3.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat3.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat4.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat3.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat0 = u_xlat4 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat22.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat22.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat3.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec2 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					bool u_xlatb8;
					vec4 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat11;
					vec2 u_xlat12;
					vec3 u_xlat13;
					bool u_xlatb13;
					vec2 u_xlat14;
					vec2 u_xlat21;
					float u_xlat22;
					vec2 u_xlat24;
					vec2 u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					vec2 u_xlat28;
					vec2 u_xlat32;
					float u_xlat33;
					float u_xlat34;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					int u_xlati38;
					float u_xlat45;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat24.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb13 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb13){
					        u_xlat25.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat25.x);
					        u_xlat3.x = cos(u_xlat25.x);
					        u_xlat25.x = u_xlat2.x / u_xlat3.x;
					        u_xlat37 = float(1.0) / u_xlat25.y;
					        u_xlat25.x = u_xlat25.x * u_xlat37 + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat25.xx + u_xlat24.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat14.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat26 = max(abs(u_xlat1.x), 1.0);
					        u_xlat26 = float(1.0) / u_xlat26;
					        u_xlat14.x = u_xlat26 * u_xlat14.x;
					        u_xlat26 = u_xlat14.x * u_xlat14.x;
					        u_xlat38 = u_xlat26 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat26 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat26 * u_xlat38 + -0.330299497;
					        u_xlat26 = u_xlat26 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat26 * u_xlat14.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb3 ? u_xlat38 : float(0.0);
					        u_xlat14.x = u_xlat14.x * u_xlat26 + u_xlat38;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat14.x) : u_xlat14.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat25.xy = u_xlat0.xy * u_xlat1.xx + u_xlat24.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat12.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat36 = dot(u_xlat12.xy, u_xlat12.xy);
					    u_xlat12.xy = vec2(u_xlat36) * u_xlat12.xy;
					    u_xlat12.xy = u_xlat12.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat12.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat36 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlati36 = int(u_xlat36);
					    u_xlati36 = max(u_xlati36, 3);
					    u_xlati36 = min(u_xlati36, 16);
					    u_xlat1.x = float(u_xlati36);
					    u_xlat12.xy = (-u_xlat12.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = float(0.0);
					    u_xlat28.y = float(0.0);
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat14.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati36 ; u_xlati_loop_1++)
					    {
					        u_xlat8.x = float(u_xlati_loop_1);
					        u_xlat8.x = u_xlat8.x + 0.5;
					        u_xlat4.x = u_xlat8.x / u_xlat1.x;
					        u_xlat8.xy = u_xlat14.xy + vec2(-0.5, -0.5);
					        u_xlat32.xy = u_xlat8.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat8.xy = u_xlat8.xy * _Distortion_CenterScale.zw;
					        u_xlat9.x = dot(u_xlat8.xy, u_xlat8.xy);
					        u_xlat9.x = sqrt(u_xlat9.x);
					        if(u_xlatb13){
					            u_xlat21.xy = u_xlat9.xx * _Distortion_Amount.xy;
					            u_xlat10 = sin(u_xlat21.x);
					            u_xlat11 = cos(u_xlat21.x);
					            u_xlat21.x = u_xlat10 / u_xlat11;
					            u_xlat33 = float(1.0) / u_xlat21.y;
					            u_xlat21.x = u_xlat21.x * u_xlat33 + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat21.xx + u_xlat32.xy;
					        } else {
					            u_xlat45 = float(1.0) / u_xlat9.x;
					            u_xlat45 = u_xlat45 * _Distortion_Amount.x;
					            u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					            u_xlat10 = min(abs(u_xlat9.x), 1.0);
					            u_xlat22 = max(abs(u_xlat9.x), 1.0);
					            u_xlat22 = float(1.0) / u_xlat22;
					            u_xlat10 = u_xlat22 * u_xlat10;
					            u_xlat22 = u_xlat10 * u_xlat10;
					            u_xlat34 = u_xlat22 * 0.0208350997 + -0.0851330012;
					            u_xlat34 = u_xlat22 * u_xlat34 + 0.180141002;
					            u_xlat34 = u_xlat22 * u_xlat34 + -0.330299497;
					            u_xlat22 = u_xlat22 * u_xlat34 + 0.999866009;
					            u_xlat34 = u_xlat22 * u_xlat10;
					            u_xlatb46 = 1.0<abs(u_xlat9.x);
					            u_xlat34 = u_xlat34 * -2.0 + 1.57079637;
					            u_xlat34 = u_xlatb46 ? u_xlat34 : float(0.0);
					            u_xlat10 = u_xlat10 * u_xlat22 + u_xlat34;
					            u_xlat9.x = min(u_xlat9.x, 1.0);
					            u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					            u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					            u_xlat9.x = u_xlat45 * u_xlat9.x + -1.0;
					            u_xlat21.xy = u_xlat8.xy * u_xlat9.xx + u_xlat32.xy;
					        }
					        u_xlat21.xy = u_xlat21.xy;
					        u_xlat21.xy = clamp(u_xlat21.xy, 0.0, 1.0);
					        u_xlat8.xy = u_xlat21.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat8.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat14.xy = u_xlat12.xy + u_xlat14.xy;
					    }
					    u_xlat5 = u_xlat6 / u_xlat7;
					    u_xlat5.xyz = u_xlat0.xxx * u_xlat5.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat6 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat6 = u_xlat6 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat7 = texture(_BloomTex, u_xlat6.xy);
					    u_xlat6 = texture(_BloomTex, u_xlat6.zw);
					    u_xlat6 = u_xlat6 + u_xlat7;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat25.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat6;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat25.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat6.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat6.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat5 + u_xlat6;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat25.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat13.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat13.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat25.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat13.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat13.x = log2(u_xlat13.x);
					        u_xlat13.x = u_xlat13.x * 2.4000001;
					        u_xlat13.x = exp2(u_xlat13.x);
					        u_xlatb25 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb25) ? u_xlat1.x : u_xlat13.x;
					        u_xlat13.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat13.xyz = u_xlat1.xxx * u_xlat13.xyz + _Vignette_Color.xyz;
					        u_xlat13.xyz = u_xlat0.xyz * u_xlat13.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat13.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat36 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat36 = sqrt(u_xlat36);
					    u_xlat36 = _Grain_Params1.xxxy.z * (-u_xlat36) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat12.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat28.x = _Lut2D_Params.y;
					    u_xlat1.xy = u_xlat28.xy + u_xlat1.xz;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat13.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat13.x = clamp(u_xlat13.x, 0.0, 1.0);
					    u_xlat13.x = u_xlat13.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat13.x;
					    u_xlat13.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat13.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat13.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat13.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					vec2 u_xlat16;
					bool u_xlatb16;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat27;
					float u_xlat28;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat22.x = float(1.0) / u_xlat22.x;
					        u_xlat12 = u_xlat22.x * u_xlat12;
					        u_xlat22.x = u_xlat12 * u_xlat12;
					        u_xlat32 = u_xlat22.x * 0.0208350997 + -0.0851330012;
					        u_xlat32 = u_xlat22.x * u_xlat32 + 0.180141002;
					        u_xlat32 = u_xlat22.x * u_xlat32 + -0.330299497;
					        u_xlat22.x = u_xlat22.x * u_xlat32 + 0.999866009;
					        u_xlat32 = u_xlat22.x * u_xlat12;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat32 = u_xlat32 * -2.0 + 1.57079637;
					        u_xlat32 = u_xlatb3 ? u_xlat32 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat22.x + u_xlat32;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat12) : u_xlat12;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat10.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat10.xy = vec2(u_xlat30) * u_xlat10.xy;
					    u_xlat10.xy = u_xlat10.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat10.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlati30 = int(u_xlat30);
					    u_xlati30 = max(u_xlati30, 3);
					    u_xlati30 = min(u_xlati30, 16);
					    u_xlat1.x = float(u_xlati30);
					    u_xlat10.xy = (-u_xlat10.xy) / u_xlat1.xx;
					    u_xlat2.y = 0.0;
					    u_xlat3.w = 1.0;
					    u_xlat4.x = float(0.0);
					    u_xlat4.y = float(0.0);
					    u_xlat4.z = float(0.0);
					    u_xlat4.w = float(0.0);
					    u_xlat5.x = float(0.0);
					    u_xlat5.y = float(0.0);
					    u_xlat5.z = float(0.0);
					    u_xlat5.w = float(0.0);
					    u_xlat22.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati30 ; u_xlati_loop_1++)
					    {
					        u_xlat16.x = float(u_xlati_loop_1);
					        u_xlat16.x = u_xlat16.x + 0.5;
					        u_xlat2.x = u_xlat16.x / u_xlat1.x;
					        u_xlat16.xy = u_xlat22.xy + vec2(-0.5, -0.5);
					        u_xlat7.xy = u_xlat16.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat16.xy = u_xlat16.xy * _Distortion_CenterScale.zw;
					        u_xlat36 = dot(u_xlat16.xy, u_xlat16.xy);
					        u_xlat36 = sqrt(u_xlat36);
					        if(u_xlatb11){
					            u_xlat27.xy = vec2(u_xlat36) * _Distortion_Amount.xy;
					            u_xlat8.x = sin(u_xlat27.x);
					            u_xlat9 = cos(u_xlat27.x);
					            u_xlat27.x = u_xlat8.x / u_xlat9;
					            u_xlat37 = float(1.0) / u_xlat27.y;
					            u_xlat27.x = u_xlat27.x * u_xlat37 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * u_xlat27.xx + u_xlat7.xy;
					        } else {
					            u_xlat8.x = float(1.0) / u_xlat36;
					            u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					            u_xlat36 = u_xlat36 * _Distortion_Amount.y;
					            u_xlat18 = min(abs(u_xlat36), 1.0);
					            u_xlat28 = max(abs(u_xlat36), 1.0);
					            u_xlat28 = float(1.0) / u_xlat28;
					            u_xlat18 = u_xlat28 * u_xlat18;
					            u_xlat28 = u_xlat18 * u_xlat18;
					            u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					            u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					            u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					            u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					            u_xlat38 = u_xlat28 * u_xlat18;
					            u_xlatb9 = 1.0<abs(u_xlat36);
					            u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					            u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					            u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					            u_xlat36 = min(u_xlat36, 1.0);
					            u_xlatb36 = u_xlat36<(-u_xlat36);
					            u_xlat36 = (u_xlatb36) ? (-u_xlat18) : u_xlat18;
					            u_xlat36 = u_xlat8.x * u_xlat36 + -1.0;
					            u_xlat27.xy = u_xlat16.xy * vec2(u_xlat36) + u_xlat7.xy;
					        }
					        u_xlat27.xy = u_xlat27.xy;
					        u_xlat27.xy = clamp(u_xlat27.xy, 0.0, 1.0);
					        u_xlat16.xy = u_xlat27.xy * vec2(_RenderViewportScaleFactor);
					        u_xlat7 = textureLod(_MainTex, u_xlat16.xy, 0.0);
					        u_xlat8 = textureLod(_ChromaticAberration_SpectralLut, u_xlat2.xy, 0.0);
					        u_xlat3.xyz = u_xlat8.xyz;
					        u_xlat4 = u_xlat7 * u_xlat3 + u_xlat4;
					        u_xlat5 = u_xlat3 + u_xlat5;
					        u_xlat22.xy = u_xlat10.xy + u_xlat22.xy;
					    }
					    u_xlat2 = u_xlat4 / u_xlat5;
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat3;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat2 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 _MainTex_TexelSize;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					float u_xlat10;
					vec2 u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb21;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					vec2 u_xlat26;
					bool u_xlatb26;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					float u_xlat41;
					float u_xlat42;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat24 = max(abs(u_xlat1.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb3 = 1.0<abs(u_xlat1.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb3 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat1.x = u_xlat2.x * u_xlat1.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat11.xy = vs_TEXCOORD0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat11.xy = vec2(u_xlat33) * u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy * vec2(vec2(_ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2.xy = (-u_xlat11.xy) * _MainTex_TexelSize.zw;
					    u_xlat2.xy = u_xlat2.xy * vec2(0.5, 0.5);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlati33 = int(u_xlat33);
					    u_xlati33 = max(u_xlati33, 3);
					    u_xlati33 = min(u_xlati33, 16);
					    u_xlat1.x = float(u_xlati33);
					    u_xlat11.xy = (-u_xlat11.xy) / u_xlat1.xx;
					    u_xlati2 = unity_StereoEyeIndex;
					    u_xlat3 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati2].xyxy;
					    u_xlat4.y = 0.0;
					    u_xlat5.w = 1.0;
					    u_xlat6.x = float(0.0);
					    u_xlat6.y = float(0.0);
					    u_xlat6.z = float(0.0);
					    u_xlat6.w = float(0.0);
					    u_xlat7.x = float(0.0);
					    u_xlat7.y = float(0.0);
					    u_xlat7.z = float(0.0);
					    u_xlat7.w = float(0.0);
					    u_xlat13.xy = vs_TEXCOORD0.xy;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati33 ; u_xlati_loop_1++)
					    {
					        u_xlat26.x = float(u_xlati_loop_1);
					        u_xlat26.x = u_xlat26.x + 0.5;
					        u_xlat4.x = u_xlat26.x / u_xlat1.x;
					        u_xlat26.xy = u_xlat13.xy + vec2(-0.5, -0.5);
					        u_xlat8.xy = u_xlat26.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					        u_xlat26.xy = u_xlat26.xy * _Distortion_CenterScale.zw;
					        u_xlat30 = dot(u_xlat26.xy, u_xlat26.xy);
					        u_xlat30 = sqrt(u_xlat30);
					        if(u_xlatb12){
					            u_xlat9.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					            u_xlat10 = cos(u_xlat9.x);
					            u_xlat9.x = sin(u_xlat9.x);
					            u_xlat41 = u_xlat9.x / u_xlat10;
					            u_xlat9.x = float(1.0) / u_xlat9.y;
					            u_xlat41 = u_xlat41 * u_xlat9.x + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat41) + u_xlat8.xy;
					        } else {
					            u_xlat41 = float(1.0) / u_xlat30;
					            u_xlat41 = u_xlat41 * _Distortion_Amount.x;
					            u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					            u_xlat31 = min(abs(u_xlat30), 1.0);
					            u_xlat42 = max(abs(u_xlat30), 1.0);
					            u_xlat42 = float(1.0) / u_xlat42;
					            u_xlat31 = u_xlat42 * u_xlat31;
					            u_xlat42 = u_xlat31 * u_xlat31;
					            u_xlat10 = u_xlat42 * 0.0208350997 + -0.0851330012;
					            u_xlat10 = u_xlat42 * u_xlat10 + 0.180141002;
					            u_xlat10 = u_xlat42 * u_xlat10 + -0.330299497;
					            u_xlat42 = u_xlat42 * u_xlat10 + 0.999866009;
					            u_xlat10 = u_xlat42 * u_xlat31;
					            u_xlatb21 = 1.0<abs(u_xlat30);
					            u_xlat10 = u_xlat10 * -2.0 + 1.57079637;
					            u_xlat10 = u_xlatb21 ? u_xlat10 : float(0.0);
					            u_xlat31 = u_xlat31 * u_xlat42 + u_xlat10;
					            u_xlat30 = min(u_xlat30, 1.0);
					            u_xlatb30 = u_xlat30<(-u_xlat30);
					            u_xlat30 = (u_xlatb30) ? (-u_xlat31) : u_xlat31;
					            u_xlat30 = u_xlat41 * u_xlat30 + -1.0;
					            u_xlat9.xy = u_xlat26.xy * vec2(u_xlat30) + u_xlat8.xy;
					        }
					        u_xlat9.xy = u_xlat9.xy;
					        u_xlat9.xy = clamp(u_xlat9.xy, 0.0, 1.0);
					        u_xlat26.xy = u_xlat9.xy * u_xlat3.xy + unity_StereoScaleOffset[u_xlati2].zw;
					        u_xlat8 = textureLod(_MainTex, u_xlat26.xy, 0.0);
					        u_xlat9 = textureLod(_ChromaticAberration_SpectralLut, u_xlat4.xy, 0.0);
					        u_xlat5.xyz = u_xlat9.xyz;
					        u_xlat6 = u_xlat8 * u_xlat5 + u_xlat6;
					        u_xlat7 = u_xlat5 + u_xlat7;
					        u_xlat13.xy = u_xlat11.xy + u_xlat13.xy;
					    }
					    u_xlat4 = u_xlat6 / u_xlat7;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat5 = u_xlat0.xyzy * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat5 = u_xlat5 + u_xlat6;
					    u_xlat0 = u_xlat0.xwzw * u_xlat1.xxxx + u_xlat23.xyxy;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat0 = u_xlat0 * u_xlat3 + unity_StereoScaleOffset[u_xlati2].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat5;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat4 + u_xlat5;
					    u_xlat2.xyz = u_xlat3.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat18.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat18.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat18.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat19.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat19.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat19.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat18.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat18.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat18.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_7[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat18.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat18.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat9.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat18.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_8[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.w = u_xlat1.w;
					    u_xlat1.w = clamp(u_xlat1.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat1.x = (u_xlatb0.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb0.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb0.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat1.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat19.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat19.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					vec2 u_xlat19;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat10.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat10.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat19.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat19.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_8[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat18.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat18.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat28 = u_xlat1.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat9.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat9.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat9.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat18.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat18.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat9.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat9.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat27 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat27 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat27 = -abs(u_xlat27) + 1.0;
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat27) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat28;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_9[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat1.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat31 = u_xlat1.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat3 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat2.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat31;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10.x = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10.x = u_xlat10.x * u_xlat5.x;
					        u_xlat5.x = u_xlat10.x * u_xlat10.x;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10.x * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10.x = u_xlat10.x * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10.x) : u_xlat10.x;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat9.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat9.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat9.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat10.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat10.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat10.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					vec3 u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11.x = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11.x = u_xlat11.x * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bool u_xlatb9;
					float u_xlat10;
					float u_xlat14;
					bool u_xlatb16;
					bool u_xlatb17;
					vec2 u_xlat18;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat9.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat9.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat9.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat9.xy = u_xlat9.xy * _Distortion_CenterScale.zw;
					    u_xlat27 = dot(u_xlat9.xy, u_xlat9.xy);
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlatb23 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb23){
					        u_xlat6.xy = vec2(u_xlat27) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat32 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat32 = u_xlat32 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat32) + u_xlat5.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat27;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat27 = u_xlat27 * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat27), 1.0);
					        u_xlat33 = max(abs(u_xlat27), 1.0);
					        u_xlat33 = float(1.0) / u_xlat33;
					        u_xlat24 = u_xlat33 * u_xlat24;
					        u_xlat33 = u_xlat24 * u_xlat24;
					        u_xlat7.x = u_xlat33 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat33 * u_xlat7.x + -0.330299497;
					        u_xlat33 = u_xlat33 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat33 * u_xlat24;
					        u_xlatb16 = 1.0<abs(u_xlat27);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb16 ? u_xlat7.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat33 + u_xlat7.x;
					        u_xlat27 = min(u_xlat27, 1.0);
					        u_xlatb27 = u_xlat27<(-u_xlat27);
					        u_xlat27 = (u_xlatb27) ? (-u_xlat24) : u_xlat24;
					        u_xlat27 = u_xlat32 * u_xlat27 + -1.0;
					        u_xlat6.xy = u_xlat9.xy * vec2(u_xlat27) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat6.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat6 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat9.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat5.x = sin(u_xlat18.x);
					        u_xlat8.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat5.x / u_xlat8.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat18.xx + u_xlat7.xy;
					    } else {
					        u_xlat5.x = float(1.0) / u_xlat9.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat14 = min(abs(u_xlat9.x), 1.0);
					        u_xlat32 = max(abs(u_xlat9.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat14 = u_xlat32 * u_xlat14;
					        u_xlat32 = u_xlat14 * u_xlat14;
					        u_xlat8.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + 0.180141002;
					        u_xlat8.x = u_xlat32 * u_xlat8.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat8.x + 0.999866009;
					        u_xlat8.x = u_xlat32 * u_xlat14;
					        u_xlatb17 = 1.0<abs(u_xlat9.x);
					        u_xlat8.x = u_xlat8.x * -2.0 + 1.57079637;
					        u_xlat8.x = u_xlatb17 ? u_xlat8.x : float(0.0);
					        u_xlat14 = u_xlat14 * u_xlat32 + u_xlat8.x;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat14) : u_xlat14;
					        u_xlat9.x = u_xlat5.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.xy * u_xlat9.xx + u_xlat7.xy;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat9.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat9.x = sqrt(u_xlat9.x);
					    if(u_xlatb23){
					        u_xlat18.xy = u_xlat9.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat18.x);
					        u_xlat5.x = cos(u_xlat18.x);
					        u_xlat18.x = u_xlat1.x / u_xlat5.x;
					        u_xlat27 = float(1.0) / u_xlat18.y;
					        u_xlat18.x = u_xlat18.x * u_xlat27 + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat18.xx + u_xlat7.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat9.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat9.x = u_xlat9.x * _Distortion_Amount.y;
					        u_xlat10 = min(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = max(abs(u_xlat9.x), 1.0);
					        u_xlat5.x = float(1.0) / u_xlat5.x;
					        u_xlat10 = u_xlat10 * u_xlat5.x;
					        u_xlat5.x = u_xlat10 * u_xlat10;
					        u_xlat14 = u_xlat5.x * 0.0208350997 + -0.0851330012;
					        u_xlat14 = u_xlat5.x * u_xlat14 + 0.180141002;
					        u_xlat14 = u_xlat5.x * u_xlat14 + -0.330299497;
					        u_xlat5.x = u_xlat5.x * u_xlat14 + 0.999866009;
					        u_xlat14 = u_xlat10 * u_xlat5.x;
					        u_xlatb23 = 1.0<abs(u_xlat9.x);
					        u_xlat14 = u_xlat14 * -2.0 + 1.57079637;
					        u_xlat14 = u_xlatb23 ? u_xlat14 : float(0.0);
					        u_xlat10 = u_xlat10 * u_xlat5.x + u_xlat14;
					        u_xlat9.x = min(u_xlat9.x, 1.0);
					        u_xlatb9 = u_xlat9.x<(-u_xlat9.x);
					        u_xlat9.x = (u_xlatb9) ? (-u_xlat10) : u_xlat10;
					        u_xlat9.x = u_xlat1.x * u_xlat9.x + -1.0;
					        u_xlat18.xy = u_xlat1.zw * u_xlat9.xx + u_xlat7.zw;
					    }
					    u_xlat18.xy = u_xlat18.xy;
					    u_xlat18.xy = clamp(u_xlat18.xy, 0.0, 1.0);
					    u_xlat9.xy = u_xlat18.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat1 = textureLod(_MainTex, u_xlat9.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat9.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat9.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat27 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat27 = sqrt(u_xlat27);
					    u_xlat27 = _Grain_Params1.xxxy.z * (-u_xlat27) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat27) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat9.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat9.x = clamp(u_xlat9.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat9.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat9.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_10[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					bool u_xlatb5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					float u_xlat9;
					bool u_xlatb9;
					vec3 u_xlat10;
					int u_xlati10;
					float u_xlat11;
					vec3 u_xlat15;
					bool u_xlatb17;
					float u_xlat18;
					vec2 u_xlat20;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					float u_xlat28;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat35;
					float u_xlat36;
					float u_xlat38;
					void main()
					{
					    u_xlat0 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat1 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat10.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1 = u_xlat10.xxxx * u_xlat1;
					    u_xlat1 = u_xlat1 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat2 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat3 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    u_xlat10.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat5.xy = u_xlat10.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat10.xy = u_xlat10.xy * _Distortion_CenterScale.zw;
					    u_xlat30 = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlatb25 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb25){
					        u_xlat6.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat6.x);
					        u_xlat6.x = sin(u_xlat6.x);
					        u_xlat35 = u_xlat6.x / u_xlat7.x;
					        u_xlat6.x = float(1.0) / u_xlat6.y;
					        u_xlat35 = u_xlat35 * u_xlat6.x + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat35) + u_xlat5.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat30;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat26 = min(abs(u_xlat30), 1.0);
					        u_xlat36 = max(abs(u_xlat30), 1.0);
					        u_xlat36 = float(1.0) / u_xlat36;
					        u_xlat26 = u_xlat36 * u_xlat26;
					        u_xlat36 = u_xlat26 * u_xlat26;
					        u_xlat7.x = u_xlat36 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat36 * u_xlat7.x + -0.330299497;
					        u_xlat36 = u_xlat36 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat36 * u_xlat26;
					        u_xlatb17 = 1.0<abs(u_xlat30);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat26 = u_xlat26 * u_xlat36 + u_xlat7.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat26) : u_xlat26;
					        u_xlat30 = u_xlat35 * u_xlat30 + -1.0;
					        u_xlat6.xy = u_xlat10.xy * vec2(u_xlat30) + u_xlat5.xy;
					    }
					    u_xlat6.xy = u_xlat6.xy;
					    u_xlat6.xy = clamp(u_xlat6.xy, 0.0, 1.0);
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat20.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati10].xy;
					    u_xlat5.xy = u_xlat6.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat6 = textureLod(_MainTex, u_xlat5.xy, 0.0);
					    u_xlat1 = u_xlat1 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat1 = u_xlat1 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat1 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat1 = u_xlat1 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat1 = u_xlat1 * _Distortion_CenterScale.zwzw;
					    u_xlat5.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat5.x = sqrt(u_xlat5.x);
					    if(u_xlatb25){
					        u_xlat15.xz = u_xlat5.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat15.x);
					        u_xlat9 = cos(u_xlat15.x);
					        u_xlat15.x = u_xlat8.x / u_xlat9;
					        u_xlat35 = float(1.0) / u_xlat15.z;
					        u_xlat15.x = u_xlat15.x * u_xlat35 + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat15.xx + u_xlat7.xy;
					    } else {
					        u_xlat8.x = float(1.0) / u_xlat5.x;
					        u_xlat8.x = u_xlat8.x * _Distortion_Amount.x;
					        u_xlat5.x = u_xlat5.x * _Distortion_Amount.y;
					        u_xlat18 = min(abs(u_xlat5.x), 1.0);
					        u_xlat28 = max(abs(u_xlat5.x), 1.0);
					        u_xlat28 = float(1.0) / u_xlat28;
					        u_xlat18 = u_xlat28 * u_xlat18;
					        u_xlat28 = u_xlat18 * u_xlat18;
					        u_xlat38 = u_xlat28 * 0.0208350997 + -0.0851330012;
					        u_xlat38 = u_xlat28 * u_xlat38 + 0.180141002;
					        u_xlat38 = u_xlat28 * u_xlat38 + -0.330299497;
					        u_xlat28 = u_xlat28 * u_xlat38 + 0.999866009;
					        u_xlat38 = u_xlat28 * u_xlat18;
					        u_xlatb9 = 1.0<abs(u_xlat5.x);
					        u_xlat38 = u_xlat38 * -2.0 + 1.57079637;
					        u_xlat38 = u_xlatb9 ? u_xlat38 : float(0.0);
					        u_xlat18 = u_xlat18 * u_xlat28 + u_xlat38;
					        u_xlat5.x = min(u_xlat5.x, 1.0);
					        u_xlatb5 = u_xlat5.x<(-u_xlat5.x);
					        u_xlat5.x = (u_xlatb5) ? (-u_xlat18) : u_xlat18;
					        u_xlat5.x = u_xlat8.x * u_xlat5.x + -1.0;
					        u_xlat15.xz = u_xlat1.xy * u_xlat5.xx + u_xlat7.xy;
					    }
					    u_xlat15.xz = u_xlat15.xz;
					    u_xlat15.xz = clamp(u_xlat15.xz, 0.0, 1.0);
					    u_xlat1.xy = u_xlat15.xz * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat1.x = dot(u_xlat1.zw, u_xlat1.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb25){
					        u_xlat5.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = cos(u_xlat5.x);
					        u_xlat5.x = sin(u_xlat5.x);
					        u_xlat11 = u_xlat5.x / u_xlat7.x;
					        u_xlat5.x = float(1.0) / u_xlat5.y;
					        u_xlat11 = u_xlat11 * u_xlat5.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat25 = min(abs(u_xlat1.x), 1.0);
					        u_xlat35 = max(abs(u_xlat1.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat25 = u_xlat35 * u_xlat25;
					        u_xlat35 = u_xlat25 * u_xlat25;
					        u_xlat7.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + 0.180141002;
					        u_xlat7.x = u_xlat35 * u_xlat7.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat7.x + 0.999866009;
					        u_xlat7.x = u_xlat35 * u_xlat25;
					        u_xlatb17 = 1.0<abs(u_xlat1.x);
					        u_xlat7.x = u_xlat7.x * -2.0 + 1.57079637;
					        u_xlat7.x = u_xlatb17 ? u_xlat7.x : float(0.0);
					        u_xlat25 = u_xlat25 * u_xlat35 + u_xlat7.x;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat25) : u_xlat25;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat5.xy = u_xlat1.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat5.xy = u_xlat5.xy;
					    u_xlat5.xy = clamp(u_xlat5.xy, 0.0, 1.0);
					    u_xlat10.xy = u_xlat5.xy * u_xlat20.xy + unity_StereoScaleOffset[u_xlati10].zw;
					    u_xlat1 = textureLod(_MainTex, u_xlat10.xy, 0.0);
					    u_xlat2.w = 1.0;
					    u_xlat3.w = 1.0;
					    u_xlat5 = u_xlat3 * u_xlat8;
					    u_xlat5 = u_xlat6 * u_xlat2 + u_xlat5;
					    u_xlat4.w = 1.0;
					    u_xlat1 = u_xlat1 * u_xlat4 + u_xlat5;
					    u_xlat10.xyz = u_xlat2.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat4.xyz + u_xlat10.xyz;
					    u_xlat2.w = 3.0;
					    u_xlat1 = u_xlat1 / u_xlat2;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat2 = texture(_GrainTex, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat0.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat2.xyz * vec3(u_xlat30) + u_xlat0.xyz;
					    u_xlat0 = u_xlat1 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_15;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_16[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_17[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec4 unused_0_9;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[5];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec4 unused_0_10;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_18;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8[4];
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_19;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat3 = u_xlat5 * u_xlat9;
					    u_xlat3 = u_xlat7 * u_xlat4 + u_xlat3;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat0 * u_xlat6 + u_xlat3;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat2.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat2.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat2.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11 = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat2.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat2.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat2.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat2.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat2.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat2.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat3.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat3 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat4 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat3 = u_xlat5 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat3;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat4 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * vec4(_RenderViewportScaleFactor);
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat3 = u_xlat3 + u_xlat5;
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat3 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat3;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat2 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.0625;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec2 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat19;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					bool u_xlatb29;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat10.xy = vec2(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xy;
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat7 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat8 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat30 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat12.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat12.x);
					        u_xlat9.x = cos(u_xlat12.x);
					        u_xlat1.x = u_xlat1.x / u_xlat9.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat1.x = u_xlat1.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat8.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat30;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat30), 1.0);
					        u_xlat9.x = max(abs(u_xlat30), 1.0);
					        u_xlat9.x = float(1.0) / u_xlat9.x;
					        u_xlat32 = u_xlat32 * u_xlat9.x;
					        u_xlat9.x = u_xlat32 * u_xlat32;
					        u_xlat19 = u_xlat9.x * 0.0208350997 + -0.0851330012;
					        u_xlat19 = u_xlat9.x * u_xlat19 + 0.180141002;
					        u_xlat19 = u_xlat9.x * u_xlat19 + -0.330299497;
					        u_xlat9.x = u_xlat9.x * u_xlat19 + 0.999866009;
					        u_xlat19 = u_xlat32 * u_xlat9.x;
					        u_xlatb29 = 1.0<abs(u_xlat30);
					        u_xlat19 = u_xlat19 * -2.0 + 1.57079637;
					        u_xlat19 = u_xlatb29 ? u_xlat19 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat9.x + u_xlat19;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat32) : u_xlat32;
					        u_xlat30 = u_xlat1.x * u_xlat30 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * vec2(u_xlat30) + u_xlat8.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat9 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat30 = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat30 = sqrt(u_xlat30);
					    if(u_xlatb11){
					        u_xlat1.xy = vec2(u_xlat30) * _Distortion_Amount.xy;
					        u_xlat3.x = cos(u_xlat1.x);
					        u_xlat1.x = sin(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x / u_xlat3.x;
					        u_xlat11.x = float(1.0) / u_xlat1.y;
					        u_xlat1.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat1.xy = u_xlat3.zw * u_xlat1.xx + u_xlat8.zw;
					    } else {
					        u_xlat12.x = float(1.0) / u_xlat30;
					        u_xlat12.x = u_xlat12.x * _Distortion_Amount.x;
					        u_xlat30 = u_xlat30 * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat30), 1.0);
					        u_xlat32 = max(abs(u_xlat30), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat30);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat30 = min(u_xlat30, 1.0);
					        u_xlatb30 = u_xlat30<(-u_xlat30);
					        u_xlat30 = (u_xlatb30) ? (-u_xlat22) : u_xlat22;
					        u_xlat30 = u_xlat12.x * u_xlat30 + -1.0;
					        u_xlat1.xy = u_xlat3.zw * vec2(u_xlat30) + u_xlat8.zw;
					    }
					    u_xlat1.xy = u_xlat1.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat8 = u_xlat5 * u_xlat9;
					    u_xlat7 = u_xlat7 * u_xlat4 + u_xlat8;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat7;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(1.0, 1.0, -1.0, 0.0);
					    u_xlat4 = (-u_xlat2.xywy) * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat5;
					    u_xlat1.xy = (-u_xlat2.zy) * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat5 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat5 = u_xlat2.zwxw * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat6 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat6 = texture(_BloomTex, u_xlat1.xy);
					    u_xlat4 = u_xlat6 * vec4(4.0, 4.0, 4.0, 4.0) + u_xlat4;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat5 = u_xlat2.zywy * _Bloom_Settings.xxxx + u_xlat21.xyxy;
					    u_xlat5 = clamp(u_xlat5, 0.0, 1.0);
					    u_xlat5 = u_xlat5 * u_xlat10.xyxy + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat6 = texture(_BloomTex, u_xlat5.xy);
					    u_xlat4 = u_xlat4 + u_xlat6;
					    u_xlat5 = texture(_BloomTex, u_xlat5.zw);
					    u_xlat4 = u_xlat5 * vec4(2.0, 2.0, 2.0, 2.0) + u_xlat4;
					    u_xlat1.xy = u_xlat2.xy * _Bloom_Settings.xx + u_xlat21.xy;
					    u_xlat1.xy = clamp(u_xlat1.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat1.xy * u_xlat10.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat0 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 0.0625);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.0625, 0.0625, 0.0625, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.0625;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat2.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat2.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat3.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[6];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1.wxyz * u_xlat2.wxyz + u_xlat0.wxyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.yzw;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.x = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat1;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat1.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat1.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat1.z : u_xlat2.z;
					        u_xlat1 = hlslcc_movcTemp;
					    }
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[5];
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_11[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_12[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat0.w = u_xlat0.w;
					    u_xlat0.w = clamp(u_xlat0.w, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(u_xlat1.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.zxyz).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat0.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat0.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat0.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlatb1.x = 0.5<_LumaInAlpha;
					    if(u_xlatb1.x){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_5[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat2.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat2.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3.xyz = u_xlat2.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_12[4];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_15;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat1.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat1;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat33 = u_xlat0.w;
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat33;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat33 = u_xlat0.w;
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat33;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat30 = u_xlat0.w;
					    u_xlat30 = clamp(u_xlat30, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat30;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec4 unused_0_13[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_16;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat33 = u_xlat0.w;
					    u_xlat33 = clamp(u_xlat33, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.zxyz).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat33;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11 = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11 = u_xlat11 * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * vec2(u_xlat11) + u_xlat7.zw;
					    } else {
					        u_xlat11 = float(1.0) / u_xlat1.x;
					        u_xlat11 = u_xlat11 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat3 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat3 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat31 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat31 = sqrt(u_xlat31);
					    u_xlat31 = _Grain_Params1.xxxy.z * (-u_xlat31) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat31) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[26];
						float _RenderViewportScaleFactor;
						vec4 unused_0_2[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_6;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec4 unused_0_14[3];
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_17;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					float u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12 = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12 = u_xlat12 * u_xlat13.x;
					        u_xlat13.x = u_xlat12 * u_xlat12;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12 * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12 = u_xlat12 * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12) : u_xlat12;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat1 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat2 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat1.xyz = u_xlat1.xyz * _Bloom_Settings.zzz;
					    u_xlat1.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat4.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat4;
					    u_xlat0 = u_xlat1 * u_xlat2 + u_xlat0;
					    u_xlat1.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat1 = texture(_GrainTex, u_xlat1.xy);
					    u_xlat2.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat34 = dot(u_xlat2.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat34 = _Grain_Params1.xxxy.z * (-u_xlat34) + 1.0;
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat34) + u_xlat0.xyz;
					    u_xlat0 = u_xlat0 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_19;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bvec3 u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat3.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat3.xyz = max(abs(u_xlat3.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat2.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat3.x;
					    u_xlat2.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat3.y;
					    u_xlat2.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat3.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat2.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat2.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat10.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10.x = clamp(u_xlat10.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat10.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10.x;
					    u_xlat10.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat10;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat10.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat10.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat10.z : u_xlat1.z;
					        u_xlat10 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat10.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat0 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat2.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.xyzx).xyz;
					    {
					        vec3 hlslcc_movcTemp = u_xlat11;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat11.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat11.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat11.z : u_xlat1.z;
					        u_xlat11 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat11.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_20[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat2 = u_xlat2;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat2.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat2.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat2.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat3 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat2.x = _Lut2D_Params.y;
					    u_xlat2.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec4 unused_0_21[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat2.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0 = u_xlat2 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_13;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat4.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat3.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat3.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat3.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlatb0.x = 0.5<_LumaInAlpha;
					    if(u_xlatb0.x){
					        u_xlat0.xyz = u_xlat3.xyz;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat3.w = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat3;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat11.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat11.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat21.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat21.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat11.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat1.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat12.xyz = u_xlat1.xyz * _Lut2D_Params.zzz;
					    u_xlat12.x = floor(u_xlat12.x);
					    u_xlat2.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat12.yz * _Lut2D_Params.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12.x * _Lut2D_Params.y + u_xlat2.y;
					    u_xlat3 = texture(_Lut2D, u_xlat2.xz);
					    u_xlat4.x = _Lut2D_Params.y;
					    u_xlat4.y = 0.0;
					    u_xlat23.xy = u_xlat2.xz + u_xlat4.xy;
					    u_xlat2 = texture(_Lut2D, u_xlat23.xy);
					    u_xlat1.x = u_xlat1.x * _Lut2D_Params.z + (-u_xlat12.x);
					    u_xlat12.xyz = (-u_xlat3.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat12.xyz + u_xlat3.xyz;
					    u_xlatb1 = 0.5<_LumaInAlpha;
					    if(u_xlatb1){
					        u_xlat1.xyz = u_xlat0.xyz;
					        u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					        u_xlat0.w = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    }
					    SV_Target0 = u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 unused_0_7[2];
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						float _LumaInAlpha;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz).wxyz;
					    u_xlatb0 = 0.5<_LumaInAlpha;
					    if(u_xlatb0){
					        u_xlat0.xyz = u_xlat1.yzw;
					        u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					        u_xlat1.x = dot(u_xlat0.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    } else {
					        u_xlat1.x = u_xlat0.w;
					    }
					    SV_Target0 = u_xlat1.yzwx;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec4 unused_0_14;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        SV_Target0.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat10.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10.x = floor(u_xlat10.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat10.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat10.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat20.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat20.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10.x);
					    u_xlat10.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat30 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat30 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat30 = -abs(u_xlat30) + 1.0;
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat30) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_LDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_22;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					bvec3 u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4.xyz = u_xlat0.xyz * vec3(0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat3 = u_xlat3;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat3.zxy * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat1.xyz = max(u_xlat3.zxy, vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb2.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat3.zxyz).xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb2.x) ? u_xlat0.x : u_xlat1.x;
					        hlslcc_movcTemp.y = (u_xlatb2.y) ? u_xlat0.y : u_xlat1.y;
					        hlslcc_movcTemp.z = (u_xlatb2.z) ? u_xlat0.z : u_xlat1.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat11.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat11.x);
					    u_xlat1.xy = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat11.yz * _Lut2D_Params.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat22.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat22.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat11.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat33 = u_xlat1.w * 2.0 + -1.0;
					    u_xlat1.x = u_xlat33 * 3.40282347e+38 + 0.5;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x * 2.0 + -1.0;
					    u_xlat33 = -abs(u_xlat33) + 1.0;
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    u_xlat0.xyz = vec3(u_xlat33) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat3.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat10 = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat10 * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat10);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat11.x;
					    u_xlat11.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat11.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat11.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat11.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_2D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec3 _Lut2D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler2D _Lut2D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1 = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1 = _Vignette_Mode<0.5;
					    if(u_xlatb1){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.zxy * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.xyz * _Lut2D_Params.zzz;
					    u_xlat11.x = floor(u_xlat1.x);
					    u_xlat1.xw = _Lut2D_Params.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat1.yz * _Lut2D_Params.xy + u_xlat1.xw;
					    u_xlat1.x = u_xlat11.x * _Lut2D_Params.y + u_xlat1.y;
					    u_xlat2 = texture(_Lut2D, u_xlat1.xz);
					    u_xlat3.x = _Lut2D_Params.y;
					    u_xlat3.y = 0.0;
					    u_xlat1.xy = u_xlat1.xz + u_xlat3.xy;
					    u_xlat1 = texture(_Lut2D, u_xlat1.xy);
					    u_xlat0.x = u_xlat0.x * _Lut2D_Params.z + (-u_xlat11.x);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat1 = texture(_DitheringTex, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * 2.0 + -1.0;
					    u_xlat12.x = u_xlat1.x * 3.40282347e+38 + 0.5;
					    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat12.x * 2.0 + -1.0;
					    u_xlat1.x = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12.x;
					    u_xlat12.xyz = u_xlat0.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat2.xyz = max(abs(u_xlat0.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat0.xyzx).xyz;
					    u_xlat0.x = (u_xlatb0.x) ? u_xlat12.x : u_xlat2.x;
					    u_xlat0.y = (u_xlatb0.y) ? u_xlat12.y : u_xlat2.y;
					    u_xlat0.z = (u_xlatb0.z) ? u_xlat12.z : u_xlat2.z;
					    u_xlat0.xyz = u_xlat1.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_INSTANCING_ENABLED" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4;
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					bool u_xlatb7;
					vec4 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat13;
					bool u_xlatb13;
					float u_xlat17;
					float u_xlat18;
					vec2 u_xlat20;
					vec2 u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat27;
					float u_xlat28;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb37;
					bool u_xlatb38;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat20.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb11 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb11){
					        u_xlat21.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat21.x);
					        u_xlat3.x = cos(u_xlat21.x);
					        u_xlat21.x = u_xlat2.x / u_xlat3.x;
					        u_xlat31 = float(1.0) / u_xlat21.y;
					        u_xlat21.x = u_xlat21.x * u_xlat31 + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat21.xx + u_xlat20.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat12.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat22 = min(abs(u_xlat12.x), 1.0);
					        u_xlat32 = max(abs(u_xlat12.x), 1.0);
					        u_xlat32 = float(1.0) / u_xlat32;
					        u_xlat22 = u_xlat32 * u_xlat22;
					        u_xlat32 = u_xlat22 * u_xlat22;
					        u_xlat3.x = u_xlat32 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat32 * u_xlat3.x + -0.330299497;
					        u_xlat32 = u_xlat32 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat32 * u_xlat22;
					        u_xlatb13 = 1.0<abs(u_xlat12.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb13 ? u_xlat3.x : float(0.0);
					        u_xlat22 = u_xlat22 * u_xlat32 + u_xlat3.x;
					        u_xlat12.x = min(u_xlat12.x, 1.0);
					        u_xlatb12 = u_xlat12.x<(-u_xlat12.x);
					        u_xlat12.x = (u_xlatb12) ? (-u_xlat22) : u_xlat22;
					        u_xlat2.x = u_xlat2.x * u_xlat12.x + -1.0;
					        u_xlat21.xy = u_xlat0.xy * u_xlat2.xx + u_xlat20.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat12.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat12.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat12.x);
					        u_xlat8.x = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat7.x / u_xlat8.x;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat12.xx + u_xlat20.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat17 = max(abs(u_xlat1.x), 1.0);
					        u_xlat17 = float(1.0) / u_xlat17;
					        u_xlat7.x = u_xlat17 * u_xlat7.x;
					        u_xlat17 = u_xlat7.x * u_xlat7.x;
					        u_xlat27 = u_xlat17 * 0.0208350997 + -0.0851330012;
					        u_xlat27 = u_xlat17 * u_xlat27 + 0.180141002;
					        u_xlat27 = u_xlat17 * u_xlat27 + -0.330299497;
					        u_xlat17 = u_xlat17 * u_xlat27 + 0.999866009;
					        u_xlat27 = u_xlat17 * u_xlat7.x;
					        u_xlatb37 = 1.0<abs(u_xlat1.x);
					        u_xlat27 = u_xlat27 * -2.0 + 1.57079637;
					        u_xlat27 = u_xlatb37 ? u_xlat27 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat17 + u_xlat27;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat0.xy * u_xlat1.xx + u_xlat20.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat0.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat0 = textureLod(_MainTex, u_xlat0.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat7 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat1.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat8.x = sin(u_xlat12.x);
					        u_xlat9 = cos(u_xlat12.x);
					        u_xlat12.x = u_xlat8.x / u_xlat9;
					        u_xlat22 = float(1.0) / u_xlat12.y;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat12.xx + u_xlat7.xy;
					    } else {
					        u_xlat32 = float(1.0) / u_xlat1.x;
					        u_xlat32 = u_xlat32 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat8.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat8.x = u_xlat18 * u_xlat8.x;
					        u_xlat18 = u_xlat8.x * u_xlat8.x;
					        u_xlat28 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat28 = u_xlat18 * u_xlat28 + 0.180141002;
					        u_xlat28 = u_xlat18 * u_xlat28 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat28 + 0.999866009;
					        u_xlat28 = u_xlat18 * u_xlat8.x;
					        u_xlatb38 = 1.0<abs(u_xlat1.x);
					        u_xlat28 = u_xlat28 * -2.0 + 1.57079637;
					        u_xlat28 = u_xlatb38 ? u_xlat28 : float(0.0);
					        u_xlat8.x = u_xlat8.x * u_xlat18 + u_xlat28;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat8.x) : u_xlat8.x;
					        u_xlat1.x = u_xlat32 * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.xy * u_xlat1.xx + u_xlat7.xy;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat12.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat8 = textureLod(_MainTex, u_xlat12.xy, 0.0);
					    u_xlat1.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    if(u_xlatb11){
					        u_xlat12.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat3.x = sin(u_xlat12.x);
					        u_xlat7.x = cos(u_xlat12.x);
					        u_xlat11.x = u_xlat3.x / u_xlat7.x;
					        u_xlat12.x = float(1.0) / u_xlat12.y;
					        u_xlat11.x = u_xlat11.x * u_xlat12.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat11.xx + u_xlat7.zw;
					    } else {
					        u_xlat11.x = float(1.0) / u_xlat1.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat32 = min(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = max(abs(u_xlat1.x), 1.0);
					        u_xlat3.x = float(1.0) / u_xlat3.x;
					        u_xlat32 = u_xlat32 * u_xlat3.x;
					        u_xlat3.x = u_xlat32 * u_xlat32;
					        u_xlat13 = u_xlat3.x * 0.0208350997 + -0.0851330012;
					        u_xlat13 = u_xlat3.x * u_xlat13 + 0.180141002;
					        u_xlat13 = u_xlat3.x * u_xlat13 + -0.330299497;
					        u_xlat3.x = u_xlat3.x * u_xlat13 + 0.999866009;
					        u_xlat13 = u_xlat32 * u_xlat3.x;
					        u_xlatb7 = 1.0<abs(u_xlat1.x);
					        u_xlat13 = u_xlat13 * -2.0 + 1.57079637;
					        u_xlat13 = u_xlatb7 ? u_xlat13 : float(0.0);
					        u_xlat32 = u_xlat32 * u_xlat3.x + u_xlat13;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat32) : u_xlat32;
					        u_xlat1.x = u_xlat11.x * u_xlat1.x + -1.0;
					        u_xlat12.xy = u_xlat3.zw * u_xlat1.xx + u_xlat7.zw;
					    }
					    u_xlat12.xy = u_xlat12.xy;
					    u_xlat12.xy = clamp(u_xlat12.xy, 0.0, 1.0);
					    u_xlat1.xy = u_xlat12.xy * vec2(_RenderViewportScaleFactor);
					    u_xlat3 = textureLod(_MainTex, u_xlat1.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat7 = u_xlat5 * u_xlat8;
					    u_xlat0 = u_xlat0 * u_xlat4 + u_xlat7;
					    u_xlat6.w = 1.0;
					    u_xlat0 = u_xlat3 * u_xlat6 + u_xlat0;
					    u_xlat12.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat6.xyz + u_xlat12.xyz;
					    u_xlat3.w = 3.0;
					    u_xlat0 = u_xlat0 / u_xlat3;
					    u_xlat0.xyz = u_xlat2.xxx * u_xlat0.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat1.x = _Bloom_Settings.x * 0.5;
					    u_xlat3 = u_xlat2.xyzy * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat3 = clamp(u_xlat3, 0.0, 1.0);
					    u_xlat3 = u_xlat3 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat3.xy);
					    u_xlat3 = texture(_BloomTex, u_xlat3.zw);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = u_xlat2.xwzw * u_xlat1.xxxx + u_xlat21.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat2 = u_xlat2 * vec4(_RenderViewportScaleFactor);
					    u_xlat4 = texture(_BloomTex, u_xlat2.xy);
					    u_xlat3 = u_xlat3 + u_xlat4;
					    u_xlat2 = texture(_BloomTex, u_xlat2.zw);
					    u_xlat2 = u_xlat2 + u_xlat3;
					    u_xlat2 = u_xlat2 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat21.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat3 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat2 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat3.xyz = u_xlat3.xyz * _Bloom_Settings.zzz;
					    u_xlat3.w = 0.0;
					    u_xlat2 = u_xlat2 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat2.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat2.w * 0.25;
					    u_xlat0 = u_xlat0 + u_xlat5;
					    u_xlat0 = u_xlat3 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat21.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat11.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat11.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat21.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat11.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat11.x = log2(u_xlat11.x);
					        u_xlat11.x = u_xlat11.x * 2.4000001;
					        u_xlat11.x = exp2(u_xlat11.x);
					        u_xlatb21 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb21) ? u_xlat1.x : u_xlat11.x;
					        u_xlat11.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat11.xyz = u_xlat1.xxx * u_xlat11.xyz + _Vignette_Color.xyz;
					        u_xlat11.xyz = u_xlat0.xyz * u_xlat11.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat11.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat30 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat30 = sqrt(u_xlat30);
					    u_xlat30 = _Grain_Params1.xxxy.z * (-u_xlat30) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat10 = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat10 = u_xlat10 * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat10;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "BLOOM_LOW" "CHROMATIC_ABERRATION_LOW" "COLOR_GRADING_HDR_3D" "DISTORT" "FINALPASS" "GRAIN" "STEREO_DOUBLEWIDE_TARGET" "UNITY_SINGLE_PASS_STEREO" "VIGNETTE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[22];
						vec4 _ScreenParams;
						vec4 unused_0_2[3];
						float _RenderViewportScaleFactor;
						vec4 unused_0_4[2];
						vec4 _Distortion_Amount;
						vec4 _Distortion_CenterScale;
						vec4 _Dithering_Coords;
						vec4 unused_0_8;
						vec4 _BloomTex_TexelSize;
						vec4 _Bloom_DirtTileOffset;
						vec3 _Bloom_Settings;
						vec3 _Bloom_Color;
						float _ChromaticAberration_Amount;
						vec2 _Lut3D_Params;
						float _PostExposure;
						vec3 _Vignette_Color;
						vec2 _Vignette_Center;
						vec4 _Vignette_Settings;
						float _Vignette_Opacity;
						float _Vignette_Mode;
						vec2 _Grain_Params1;
						vec4 _Grain_Params2;
						vec4 unused_0_23;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[66];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _DitheringTex;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _AutoExposureTex;
					uniform  sampler2D _BloomTex;
					uniform  sampler2D _Bloom_DirtTex;
					uniform  sampler2D _ChromaticAberration_SpectralLut;
					uniform  sampler3D _Lut3D;
					uniform  sampler2D _Vignette_Mask;
					uniform  sampler2D _GrainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD1;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					int u_xlati0;
					bvec3 u_xlatb0;
					vec4 u_xlat1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					bool u_xlatb10;
					vec3 u_xlat11;
					bool u_xlatb11;
					vec3 u_xlat12;
					bool u_xlatb12;
					vec2 u_xlat13;
					bool u_xlatb13;
					bool u_xlatb14;
					float u_xlat18;
					vec2 u_xlat22;
					vec2 u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					float u_xlat29;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					bool u_xlatb40;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + vec2(-0.5, -0.5);
					    u_xlat22.xy = u_xlat0.xy * _Distortion_Amount.zz + vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_Amount.zz + (-_Distortion_CenterScale.xy);
					    u_xlat0.xy = u_xlat0.xy * _Distortion_CenterScale.zw;
					    u_xlat1.x = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat1.x = sqrt(u_xlat1.x);
					    u_xlatb12 = 0.0<_Distortion_Amount.w;
					    if(u_xlatb12){
					        u_xlat23.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat2.x = sin(u_xlat23.x);
					        u_xlat3.x = cos(u_xlat23.x);
					        u_xlat23.x = u_xlat2.x / u_xlat3.x;
					        u_xlat34 = float(1.0) / u_xlat23.y;
					        u_xlat23.x = u_xlat23.x * u_xlat34 + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat23.xx + u_xlat22.xy;
					    } else {
					        u_xlat2.x = float(1.0) / u_xlat1.x;
					        u_xlat2.x = u_xlat2.x * _Distortion_Amount.x;
					        u_xlat13.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat24 = min(abs(u_xlat13.x), 1.0);
					        u_xlat35 = max(abs(u_xlat13.x), 1.0);
					        u_xlat35 = float(1.0) / u_xlat35;
					        u_xlat24 = u_xlat35 * u_xlat24;
					        u_xlat35 = u_xlat24 * u_xlat24;
					        u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
					        u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
					        u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
					        u_xlat3.x = u_xlat35 * u_xlat24;
					        u_xlatb14 = 1.0<abs(u_xlat13.x);
					        u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
					        u_xlat3.x = u_xlatb14 ? u_xlat3.x : float(0.0);
					        u_xlat24 = u_xlat24 * u_xlat35 + u_xlat3.x;
					        u_xlat13.x = min(u_xlat13.x, 1.0);
					        u_xlatb13 = u_xlat13.x<(-u_xlat13.x);
					        u_xlat13.x = (u_xlatb13) ? (-u_xlat24) : u_xlat24;
					        u_xlat2.x = u_xlat2.x * u_xlat13.x + -1.0;
					        u_xlat23.xy = u_xlat0.xy * u_xlat2.xx + u_xlat22.xy;
					    }
					    u_xlat2 = texture(_AutoExposureTex, vs_TEXCOORD0.xy);
					    u_xlat3 = vs_TEXCOORD0.xyxy * vec4(2.0, 2.0, 2.0, 2.0) + vec4(-1.0, -1.0, -1.0, -1.0);
					    u_xlat13.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat3 = u_xlat13.xxxx * u_xlat3;
					    u_xlat3 = u_xlat3 * vec4(vec4(_ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount, _ChromaticAberration_Amount));
					    u_xlat4 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.166666672, 0.0), 0.0);
					    u_xlat5 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.5, 0.0), 0.0);
					    u_xlat6 = textureLod(_ChromaticAberration_SpectralLut, vec2(0.833333313, 0.0), 0.0);
					    if(u_xlatb12){
					        u_xlat13.xy = u_xlat1.xx * _Distortion_Amount.xy;
					        u_xlat7.x = sin(u_xlat13.x);
					        u_xlat8.x = cos(u_xlat13.x);
					        u_xlat13.x = u_xlat7.x / u_xlat8.x;
					        u_xlat24 = float(1.0) / u_xlat13.y;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat13.xx + u_xlat22.xy;
					    } else {
					        u_xlat35 = float(1.0) / u_xlat1.x;
					        u_xlat35 = u_xlat35 * _Distortion_Amount.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.y;
					        u_xlat7.x = min(abs(u_xlat1.x), 1.0);
					        u_xlat18 = max(abs(u_xlat1.x), 1.0);
					        u_xlat18 = float(1.0) / u_xlat18;
					        u_xlat7.x = u_xlat18 * u_xlat7.x;
					        u_xlat18 = u_xlat7.x * u_xlat7.x;
					        u_xlat29 = u_xlat18 * 0.0208350997 + -0.0851330012;
					        u_xlat29 = u_xlat18 * u_xlat29 + 0.180141002;
					        u_xlat29 = u_xlat18 * u_xlat29 + -0.330299497;
					        u_xlat18 = u_xlat18 * u_xlat29 + 0.999866009;
					        u_xlat29 = u_xlat18 * u_xlat7.x;
					        u_xlatb40 = 1.0<abs(u_xlat1.x);
					        u_xlat29 = u_xlat29 * -2.0 + 1.57079637;
					        u_xlat29 = u_xlatb40 ? u_xlat29 : float(0.0);
					        u_xlat7.x = u_xlat7.x * u_xlat18 + u_xlat29;
					        u_xlat1.x = min(u_xlat1.x, 1.0);
					        u_xlatb1.x = u_xlat1.x<(-u_xlat1.x);
					        u_xlat1.x = (u_xlatb1.x) ? (-u_xlat7.x) : u_xlat7.x;
					        u_xlat1.x = u_xlat35 * u_xlat1.x + -1.0;
					        u_xlat13.xy = u_xlat0.xy * u_xlat1.xx + u_xlat22.xy;
					    }
					    u_xlat13.xy = u_xlat13.xy;
					    u_xlat13.xy = clamp(u_xlat13.xy, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat7 = vec4(_RenderViewportScaleFactor) * unity_StereoScaleOffset[u_xlati0].xyxy;
					    u_xlat11.xy = u_xlat13.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat8 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat3 = u_xlat3 * vec4(-0.333333343, -0.333333343, -0.666666687, -0.666666687) + vs_TEXCOORD0.xyxy;
					    u_xlat3 = u_xlat3 + vec4(-0.5, -0.5, -0.5, -0.5);
					    u_xlat9 = u_xlat3 * _Distortion_Amount.zzzz + vec4(0.5, 0.5, 0.5, 0.5);
					    u_xlat3 = u_xlat3 * _Distortion_Amount.zzzz + (-_Distortion_CenterScale.xyxy);
					    u_xlat3 = u_xlat3 * _Distortion_CenterScale.zwzw;
					    u_xlat11.x = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat10.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat10.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat22.xx + u_xlat9.xy;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat13.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat24 = max(abs(u_xlat11.x), 1.0);
					        u_xlat24 = float(1.0) / u_xlat24;
					        u_xlat13.x = u_xlat24 * u_xlat13.x;
					        u_xlat24 = u_xlat13.x * u_xlat13.x;
					        u_xlat35 = u_xlat24 * 0.0208350997 + -0.0851330012;
					        u_xlat35 = u_xlat24 * u_xlat35 + 0.180141002;
					        u_xlat35 = u_xlat24 * u_xlat35 + -0.330299497;
					        u_xlat24 = u_xlat24 * u_xlat35 + 0.999866009;
					        u_xlat35 = u_xlat24 * u_xlat13.x;
					        u_xlatb10 = 1.0<abs(u_xlat11.x);
					        u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
					        u_xlat35 = u_xlatb10 ? u_xlat35 : float(0.0);
					        u_xlat13.x = u_xlat13.x * u_xlat24 + u_xlat35;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat13.x) : u_xlat13.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.xy * u_xlat11.xx + u_xlat9.xy;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat10 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat11.x = dot(u_xlat3.zw, u_xlat3.zw);
					    u_xlat11.x = sqrt(u_xlat11.x);
					    if(u_xlatb12){
					        u_xlat22.xy = u_xlat11.xx * _Distortion_Amount.xy;
					        u_xlat1.x = sin(u_xlat22.x);
					        u_xlat3.x = cos(u_xlat22.x);
					        u_xlat22.x = u_xlat1.x / u_xlat3.x;
					        u_xlat33 = float(1.0) / u_xlat22.y;
					        u_xlat22.x = u_xlat22.x * u_xlat33 + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat22.xx + u_xlat9.zw;
					    } else {
					        u_xlat1.x = float(1.0) / u_xlat11.x;
					        u_xlat1.x = u_xlat1.x * _Distortion_Amount.x;
					        u_xlat11.x = u_xlat11.x * _Distortion_Amount.y;
					        u_xlat12.x = min(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = max(abs(u_xlat11.x), 1.0);
					        u_xlat13.x = float(1.0) / u_xlat13.x;
					        u_xlat12.x = u_xlat12.x * u_xlat13.x;
					        u_xlat13.x = u_xlat12.x * u_xlat12.x;
					        u_xlat24 = u_xlat13.x * 0.0208350997 + -0.0851330012;
					        u_xlat24 = u_xlat13.x * u_xlat24 + 0.180141002;
					        u_xlat24 = u_xlat13.x * u_xlat24 + -0.330299497;
					        u_xlat13.x = u_xlat13.x * u_xlat24 + 0.999866009;
					        u_xlat24 = u_xlat12.x * u_xlat13.x;
					        u_xlatb35 = 1.0<abs(u_xlat11.x);
					        u_xlat24 = u_xlat24 * -2.0 + 1.57079637;
					        u_xlat24 = u_xlatb35 ? u_xlat24 : float(0.0);
					        u_xlat12.x = u_xlat12.x * u_xlat13.x + u_xlat24;
					        u_xlat11.x = min(u_xlat11.x, 1.0);
					        u_xlatb11 = u_xlat11.x<(-u_xlat11.x);
					        u_xlat11.x = (u_xlatb11) ? (-u_xlat12.x) : u_xlat12.x;
					        u_xlat11.x = u_xlat1.x * u_xlat11.x + -1.0;
					        u_xlat22.xy = u_xlat3.zw * u_xlat11.xx + u_xlat9.zw;
					    }
					    u_xlat22.xy = u_xlat22.xy;
					    u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
					    u_xlat11.xy = u_xlat22.xy * u_xlat7.xy + unity_StereoScaleOffset[u_xlati0].zw;
					    u_xlat3 = textureLod(_MainTex, u_xlat11.xy, 0.0);
					    u_xlat4.w = 1.0;
					    u_xlat5.w = 1.0;
					    u_xlat9 = u_xlat5 * u_xlat10;
					    u_xlat8 = u_xlat8 * u_xlat4 + u_xlat9;
					    u_xlat6.w = 1.0;
					    u_xlat3 = u_xlat3 * u_xlat6 + u_xlat8;
					    u_xlat11.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + u_xlat11.xyz;
					    u_xlat4.w = 3.0;
					    u_xlat3 = u_xlat3 / u_xlat4;
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat3.xyz;
					    u_xlat2 = _BloomTex_TexelSize.xyxy * vec4(-1.0, -1.0, 1.0, 1.0);
					    u_xlat11.x = _Bloom_Settings.x * 0.5;
					    u_xlat4 = u_xlat2.xyzy * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat4 = clamp(u_xlat4, 0.0, 1.0);
					    u_xlat4 = u_xlat4 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat5 = texture(_BloomTex, u_xlat4.xy);
					    u_xlat4 = texture(_BloomTex, u_xlat4.zw);
					    u_xlat4 = u_xlat4 + u_xlat5;
					    u_xlat2 = u_xlat2.xwzw * u_xlat11.xxxx + u_xlat23.xyxy;
					    u_xlat2 = clamp(u_xlat2, 0.0, 1.0);
					    u_xlat0 = u_xlat2 * u_xlat7 + unity_StereoScaleOffset[u_xlati0].zwzw;
					    u_xlat2 = texture(_BloomTex, u_xlat0.xy);
					    u_xlat2 = u_xlat2 + u_xlat4;
					    u_xlat0 = texture(_BloomTex, u_xlat0.zw);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    u_xlat0 = u_xlat0 * _Bloom_Settings.yyyy;
					    u_xlat1.xy = u_xlat23.xy * _Bloom_DirtTileOffset.xy + _Bloom_DirtTileOffset.zw;
					    u_xlat2 = texture(_Bloom_DirtTex, u_xlat1.xy);
					    u_xlat4 = u_xlat0 * vec4(0.25, 0.25, 0.25, 0.25);
					    u_xlat2.xyz = u_xlat2.xyz * _Bloom_Settings.zzz;
					    u_xlat2.w = 0.0;
					    u_xlat0 = u_xlat0 * vec4(0.25, 0.25, 0.25, 1.0);
					    u_xlat5.xyz = u_xlat0.xyz * _Bloom_Color.xyz;
					    u_xlat5.w = u_xlat0.w * 0.25;
					    u_xlat0 = u_xlat3 + u_xlat5;
					    u_xlat0 = u_xlat2 * u_xlat4 + u_xlat0;
					    u_xlatb1.x = _Vignette_Mode<0.5;
					    if(u_xlatb1.x){
					        u_xlat1.xy = u_xlat23.xy + (-_Vignette_Center.xy);
					        u_xlat2.yz = abs(u_xlat1.yx) * _Vignette_Settings.xx;
					        u_xlat1.x = _ScreenParams.x / _ScreenParams.y;
					        u_xlat1.x = u_xlat1.x + -1.0;
					        u_xlat1.x = _Vignette_Settings.w * u_xlat1.x + 1.0;
					        u_xlat2.x = u_xlat1.x * u_xlat2.z;
					        u_xlat2.xy = u_xlat2.xy;
					        u_xlat2.xy = clamp(u_xlat2.xy, 0.0, 1.0);
					        u_xlat1.xy = log2(u_xlat2.xy);
					        u_xlat1.xy = u_xlat1.xy * _Vignette_Settings.zz;
					        u_xlat1.xy = exp2(u_xlat1.xy);
					        u_xlat1.x = dot(u_xlat1.xy, u_xlat1.xy);
					        u_xlat1.x = (-u_xlat1.x) + 1.0;
					        u_xlat1.x = max(u_xlat1.x, 0.0);
					        u_xlat1.x = log2(u_xlat1.x);
					        u_xlat1.x = u_xlat1.x * _Vignette_Settings.y;
					        u_xlat1.x = exp2(u_xlat1.x);
					        u_xlat2.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat2.xyz = u_xlat1.xxx * u_xlat2.xyz + _Vignette_Color.xyz;
					        u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz;
					        u_xlat12.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat12.x + 1.0;
					    } else {
					        u_xlat1 = texture(_Vignette_Mask, u_xlat23.xy);
					        u_xlat1.y = u_xlat1.w + 0.0549999997;
					        u_xlat1.xy = u_xlat1.wy * vec2(0.0773993805, 0.947867334);
					        u_xlat12.x = max(abs(u_xlat1.y), 1.1920929e-07);
					        u_xlat12.x = log2(u_xlat12.x);
					        u_xlat12.x = u_xlat12.x * 2.4000001;
					        u_xlat12.x = exp2(u_xlat12.x);
					        u_xlatb23 = 0.0404499993>=u_xlat1.w;
					        u_xlat1.x = (u_xlatb23) ? u_xlat1.x : u_xlat12.x;
					        u_xlat12.xyz = (-_Vignette_Color.xyz) + vec3(1.0, 1.0, 1.0);
					        u_xlat12.xyz = u_xlat1.xxx * u_xlat12.xyz + _Vignette_Color.xyz;
					        u_xlat12.xyz = u_xlat0.xyz * u_xlat12.xyz + (-u_xlat0.xyz);
					        u_xlat2.xyz = vec3(_Vignette_Opacity) * u_xlat12.xyz + u_xlat0.xyz;
					        u_xlat0.x = u_xlat0.w + -1.0;
					        u_xlat3.w = u_xlat1.x * u_xlat0.x + 1.0;
					    }
					    u_xlat0.xy = vs_TEXCOORD1.xy * _Grain_Params2.xy + _Grain_Params2.zw;
					    u_xlat0 = texture(_GrainTex, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat33 = dot(u_xlat1.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
					    u_xlat33 = sqrt(u_xlat33);
					    u_xlat33 = _Grain_Params1.xxxy.z * (-u_xlat33) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Grain_Params1.y, _Grain_Params1.y, _Grain_Params1.y);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat0 = u_xlat3 * vec4(vec4(_PostExposure, _PostExposure, _PostExposure, _PostExposure));
					    u_xlat0.xyz = u_xlat0.xyz * vec3(5.55555582, 5.55555582, 5.55555582) + vec3(0.0479959995, 0.0479959995, 0.0479959995);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.0734997839, 0.0734997839, 0.0734997839) + vec3(0.386036009, 0.386036009, 0.386036009);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.yyy;
					    u_xlat1.x = _Lut3D_Params.x * 0.5;
					    u_xlat0.xyz = u_xlat0.xyz * _Lut3D_Params.xxx + u_xlat1.xxx;
					    u_xlat1 = texture(_Lut3D, u_xlat0.xyz);
					    u_xlat0.xy = vs_TEXCOORD0.xy * _Dithering_Coords.xy + _Dithering_Coords.zw;
					    u_xlat2 = texture(_DitheringTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat2.w * 2.0 + -1.0;
					    u_xlat11.x = u_xlat0.x * 3.40282347e+38 + 0.5;
					    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
					    u_xlat11.x = u_xlat11.x * 2.0 + -1.0;
					    u_xlat0.x = -abs(u_xlat0.x) + 1.0;
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat11.x;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(12.9200001, 12.9200001, 12.9200001);
					    u_xlat3.xyz = max(abs(u_xlat1.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlatb1.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat1.xyzx).xyz;
					    u_xlat1.x = (u_xlatb1.x) ? u_xlat2.x : u_xlat3.x;
					    u_xlat1.y = (u_xlatb1.y) ? u_xlat2.y : u_xlat3.y;
					    u_xlat1.z = (u_xlatb1.z) ? u_xlat2.z : u_xlat3.z;
					    u_xlat0.xyz = u_xlat0.xxx * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805);
					    u_xlat2.xyz = u_xlat0.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.947867334, 0.947867334, 0.947867334);
					    u_xlat2.xyz = max(abs(u_xlat2.xyz), vec3(1.1920929e-07, 1.1920929e-07, 1.1920929e-07));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(2.4000001, 2.4000001, 2.4000001);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlatb0.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat0.xyzx).xyz;
					    SV_Target0.x = (u_xlatb0.x) ? u_xlat1.x : u_xlat2.x;
					    SV_Target0.y = (u_xlatb0.y) ? u_xlat1.y : u_xlat2.y;
					    SV_Target0.z = (u_xlatb0.z) ? u_xlat1.z : u_xlat2.z;
					    SV_Target0.w = u_xlat0.w;
					    return;
					}"
				}
			}
		}
	}
	SubShader {
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 121926
		}
	}
	SubShader {
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 143262
		}
	}
}